调用未定义的方法Illuminate \ Database \ Query \ Builder

时间:2014-03-17 19:49:31

标签: php laravel laravel-4

我是laravel 4的新手,并且在尝试了解DB类中的某些方法时仍然遇到同样的错误。

Call to undefined method Illuminate\Database\Query\Builder

我会尝试使用" - > or_where"," - > order_by"。

另一个问题是解析动态方法:

->where_name("test") 

变成

`users` where `_name` = test)

但如果我尝试

->wherename("test")

然后一切都很好。

2 个答案:

答案 0 :(得分:8)

您使用的orWhereorderBy语法不正确。

这是orWhere的正确语法:

DB::table('users')
    ->where('name', '=', 'John')
    ->orWhere(function($query)
    {
         $query->where('votes', '>', 100)
               ->where('title', '<>', 'Admin');
    })
    ->get();

这适用于orderBy

$users = DB::table('users')
                 ->orderBy('name', 'desc')
                 ->get();

Query Builder - Advanced Wheres - Laravel

答案 1 :(得分:5)

Laravel 3中的所有方法都已从蛇案改变

->where_name("test")

来到Laravel 4的骆驼案件

->whereName("test")