小编Lau*_*nce的帖子

无法在Laravel 4中运行原始查询

我需要在页面中显示总计数.

我可以运行此循环并获取总数

DB::table('table1')
    ->select((DB::raw('MAX(score)')))
    ->where('status', 1)
    ->groupBy('user_id')
    ->get();
Run Code Online (Sandbox Code Playgroud)

但是这个查询只会在一个查询中给我计数,而且我不需要运行任何额外的循环来获得总数.

SELECT COUNT( * ) FROM (
  SELECT MAX( score ) FROM table1
  WHERE status =1
  GROUP BY user_id
) AS totalCounter
Run Code Online (Sandbox Code Playgroud)

我怎么想在Laravel 4中运行这个RAW查询?

laravel laravel-4

3
推荐指数
2
解决办法
1万
查看次数

在Laravel中嵌套共享子资源

我想知道如何区分子资源中不同父资源的请求.

考虑子资源评论,由帖子和用户共享.注释控制器如何知道正确的父资源是什么?

我有这些路线:

Route::resource('posts', 'PostsController');
Route::resource('posts.comments', 'CommentsController');
Route::resource('users', 'UsersController');
Route::resource('users.comments', 'CommentsController');
Run Code Online (Sandbox Code Playgroud)

CommentsController,我有这个功能:

public function index($parent_id) {
    // return multiple comments here
}
Run Code Online (Sandbox Code Playgroud)

因此,我可能希望显示属于某个帖子的所有评论或属于用户的所有评论,但在这种情况下,如何CommentsController判断是否$parent_id引用帖子或用户?

laravel laravel-4

3
推荐指数
1
解决办法
1500
查看次数

Laravel 4无法从命名空间控制器中找到BaseController

我正在尝试构建我的Laravel 4站点,以便(1)主要应用程序组的组件(控制器/视图/等)耦合在一起,以及(2)Laravel在我的Web服务器的文档根目录之外的支持代码.默认的laravel主页加载正常,但我无法让命名空间控制器正确路由.这是相关的文件结构:

/ [Project Root]
     /laravel [full laravel install here]
          composer.json
          /app
               /controllers
                    BaseController.php
     /dev
          /htdocs
               index.php
               /app
                    /PageTypes
                         /Home
                              /controllers
                                   HomeController.php
                              /views
                                   HomeView.blade.php
Run Code Online (Sandbox Code Playgroud)

默认的laravel登陆页面正在加载正常.但是当我尝试使用自己的命名空间设置控制器时,我不断收到错误.

这是HomeController.php:

namespace PageTypes;

use Home\controllers;

class HomeController extends BaseController {

    public function showWelcome()
    {
        return View::make('hello');
    }

}
Run Code Online (Sandbox Code Playgroud)

这是routes.php:

<?php

Route::get('/', function()
{
    return View::make('hello');
});

Route::get('/home', 'PageTypes\Home\controllers\HomeController@showWelcome' );
Run Code Online (Sandbox Code Playgroud)

此设置产生错误:"Symfony\Component\Debug\Exception\FatalErrorException Class'PageTypes\BaseController'not found"好吧,laravel至少找到HomeController.php.

很多其他SO响应告诉我尝试将BaseController更改为\ BaseController.进行一次更改并使其他所有内容保持不变会产生错误"ReflectionException:Class PageTypes\Home\controllers\HomeController不存在." 什么?...>.<

我不了解命名空间,psr-0和laravel路由的交叉点,任何帮助都会非常感激.

后续问题:(1)我可以采取哪些步骤进行调试?除了抛出的异常错误之外,NGINX的日志并没有真正告诉我任何其他内容.(2)有没有人在github上遇到类似的laravel种子?我很乐意参考.

以下是我的配置设置:

// index.php 
...
require __DIR__.'/../../laravel/bootstrap/autoload.php';
$app = require_once __DIR__.'/../../laravel/bootstrap/start.php';
...

// bootstrap/autoload.php …
Run Code Online (Sandbox Code Playgroud)

psr-0 laravel laravel-4

3
推荐指数
1
解决办法
6444
查看次数

为什么工匠不会在作曲家更新上工作并且不返回任何错误消息?

我一直在用laravel遇到一百个问题.我最近将laravel 3网站升级到了laravel 4,我将整个项目保存到Github上的存储库中.由于我经常无意中编辑错误文件夹中的文件,我只是在我的工作目录中创建了本地git存储库,所以我只有一个目录要处理.

一切都工作正常,直到我尝试安装一些laravel包,我以前能够安装.每当我运行composer update时,我的所有工匠脚本都会返回错误.即使在我确定使用开发PHP.ini文件之后,错误消息本身(可能是PHP错误)也不会显示.

fatal: No names found, cannot describe anything.
* master [KEY REMOVED] Remove mPDF Library
Script php artisan clear-compiled handling the pre-update-cmd event returned with an error

Status for device CON:
----------------------
    Lines:          300
    Columns:        80
    Keyboard rate:  31
    Keyboard delay: 1
    Code page:      437

Status for device CON:
----------------------
    Lines:          300
    Columns:        80
    Keyboard rate:  31
    Keyboard delay: 1
    Code page:      437

  [RuntimeException]  
  Error Output:       

update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] …
Run Code Online (Sandbox Code Playgroud)

php git composer-php laravel-4

3
推荐指数
1
解决办法
1万
查看次数

Laravel 4中的公共可用功能

如果我想在Laravel中创建一个函数,那在我的应用程序中随处可用,我该怎么做呢?

我的意思是,如果我创建一个名为resizeimage()的函数并想在我的Laravel应用程序中的任何地方调用它,我该怎么做?

php laravel laravel-4

3
推荐指数
1
解决办法
1762
查看次数

Laravel 4路由到控制器方法

我目前正尝试如下路线:

  • 如果用户获取 /account/
    • 如果会话有account_id,则用户登录; 显示他的帐户信息
    • 如果没有,用户没有登录; 显示登录/创建表单
  • 如果用户POST /account/
    • 如果输入create,则用户想要创建帐户; 创造它
    • 如果没有,用户想登录; 找到他的帐户然后再去/account/

我的路线是这样设定的:

Route::get('account', function() {
    if (Session::has('account_id'))
        return 'AccountsController@show';
    else
        return 'AccountsController@index';
});

Route::post('account', function() {
    if (Input::has('create')) {
        return 'AccountsController@create';
    else    
        return 'AccountsController@login';
)};
Run Code Online (Sandbox Code Playgroud)

这有点像我对Rails的处理,但我不知道如何指向控制器方法.我只是得到了返回的字符串.我没有在Laravel文档中找到它(我发现它很差,或者我搜索错了?)在任何其他网络教程中都没有.

php laravel laravel-4

3
推荐指数
1
解决办法
6598
查看次数

在Laravel 4.1中使用Eloquent ORM查询同一表中的关系

我刚刚发现了Laravel,并进入了Eloquent ORM.但我在以下一个小问题上遇到了磕磕绊绊.

我有三个表,其中包含以下结构和数据:

words

id | language_id | parent_id | word
-------------------------------------------
1  | 1           | 0         | Welcome
-------------------------------------------
2  | 2           | 1         | Bienvenue
-------------------------------------------

documents

id | title
---------------------
1  | Hello World
---------------------

documents_words

document_id | word_id
--------------------------
1           | 1
--------------------------
Run Code Online (Sandbox Code Playgroud)

如您所见,我们在单词表中有父/子关系.

文档模型定义如下

class Documents extends Eloquent {

protected $table = 'documents';

public function words()
{
    return $this->belongsToMany('Word', 'documents_words', 'document_id');
}

}
Run Code Online (Sandbox Code Playgroud)

和模型:

class Word extends Eloquent {

protected $table = 'words';

public function …
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent laravel-4

3
推荐指数
1
解决办法
2927
查看次数

方法validateConfirm不存在(Laravel)

我正在关注Dayle Rees的Laravel教程,尝试构建一个简单的注册页面.

如果我提交带有验证错误的注册表单,页面会重新加载并显示验证错误.但是,当我键入正确的值并提交时,我收到以下错误 -

BadMethodCallException
Method [validateConfirm] does not exist.
Run Code Online (Sandbox Code Playgroud)

这是我的register.blade.php -

<!doctype html>
<html lang="en">
<head>

</head>
<body>

<h1>Registration form</h1>

{{ Form::open(array('url' => '/registration')) }}

    {{-- Username field. ------------------------}}
    {{ Form::label('username', 'Username') }}
    {{ Form::text('username') }}
    {{ $errors->first('username', '<span class="error">:message</span>') }}
<br/>
    {{-- Email address field. -------------------}}
    {{ Form::label('email', 'Email address') }}
    {{ Form::email('email') }}
    {{ $errors->first('email', '<span class="error">:message</span>') }}
<br/>
    {{-- Password field. ------------------------}}
    {{ Form::label('password', 'Password') }}
    {{ Form::password('password') }}
    {{ $errors->first('password', '<span class="error">:message</span>') }}
<br/>
    {{-- …
Run Code Online (Sandbox Code Playgroud)

php laravel

3
推荐指数
1
解决办法
8555
查看次数

如何在没有php Artisan服务的情况下看到laravel视图

如何在Laravel没有工匠命令的情况下查看视图CLI.我没有CLI从我的托管服务提供商,我只有访问权限FTP,运行Laravel我必须使用此命令CLI:

php artisan serve --port=8080 --host=0.0.0.0
Run Code Online (Sandbox Code Playgroud)

如果没有此命令,我怎样才能获得视图?

谢谢.

php webserver laravel laravel-4

3
推荐指数
1
解决办法
5669
查看次数

php artisan路线上的ReflectionException错误

每次我跑php artisan routes,我都会得到ReflectionException错误,那个UsersController班级不存在.我很确定它确实如此.

我试过php composer dump-autoloadphp artisan clear-compiled,他们都给予了同样的错误.

这是我的错误登录 /app/storage/logs/

[2014-03-30 01:41:24] production.ERROR: exception 'ReflectionException' with message 'Class UsersController does not exist' in C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Routing\ControllerInspector.php:28
Stack trace:
#0 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Routing\ControllerInspector.php(28): ReflectionClass->__construct('UsersController')
#1 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Routing\Router.php(269): Illuminate\Routing\ControllerInspector->getRoutable('UsersController', 'users')
#2 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php(211): Illuminate\Routing\Router->controller('users', 'UsersController')
#3 C:\wamp\www\re3\app\routes.php(14): Illuminate\Support\Facades\Facade::__callStatic('controller', Array)
#4 C:\wamp\www\re3\app\routes.php(14): Illuminate\Support\Facades\Route::controller('users', 'UsersController')
#5 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\start.php(269): require('C:\wamp\www\re3...')
#6 [internal function]: {closure}(Object(Illuminate\Foundation\Application))
#7 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(792): call_user_func(Object(Closure), Object(Illuminate\Foundation\Application))
#8 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(569): Illuminate\Foundation\Application->fireAppCallbacks(Array)
#9 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(552): Illuminate\Foundation\Application->bootApplication()
#10 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Console\Application.php(44): Illuminate\Foundation\Application->boot()
#11 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Console\Application.php(33): Illuminate\Console\Application::make(Object(Illuminate\Foundation\Application))
#12 C:\wamp\www\re3\artisan(46): …
Run Code Online (Sandbox Code Playgroud)

laravel composer-php laravel-4

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

laravel ×9

laravel-4 ×9

php ×6

composer-php ×2

eloquent ×1

git ×1

psr-0 ×1

webserver ×1