没有链接的查询不起作用 - Laravel
Query without chaining not working - Laravel
当我尝试在没有链接的情况下触发查询时,我的浏览器被挂起 - 根本没有 response/error,但是使用链接的查询工作正常。我在很多地方读到 Laravel 即使不使用链接也允许查询。但是不知道为什么它对我不起作用。
顺便说一句,它只是一个演示项目,所以在名为 "users" 的数据库中只有 1 个 table 有 50 条记录,所以浏览器不会因为以下原因而挂起作为查询结果返回的大量数据。
不工作:
$users = User::where('first_name', 'LIKE', '%Leonie%');
$users -> get();
工作:
$users = User::where('first_name', 'LIKE', '%Leonie%') -> get();
我使用的是最新的 Laravel 版本 5.2。所有东西都配置正确,如数据库、应用程序配置等。
如有任何帮助,我们将不胜感激。
谢谢。
我就是这样用的,效果很好。像这样尝试一下,看看是否有帮助。
$query = DB::table('your_table_name');
$query->where('name', 'LIKE', 'something');
$some_variable = $query->where('published', 1)->get();
当您不调用 get()
或 first()
(以及其他几个)获取结果集时,您最终只会得到一个 Builder
对象。这是用于构造查询的对象。在您的第一个示例中,您将 Builder
对象分配给 $users
,但在您的第二个示例中,您分配了一个 Collection
对象。
// This assigns the result to $users
$users = User::where('first_name', 'LIKE', '%Leonie%') -> get();
// Doesn't assign the result to $users
$users = User::where('first_name', 'LIKE', '%Leonie%');
$users -> get();
你需要做
$users = User::where('first_name', 'LIKE', '%Leonie%');
$users = $users->get(); // Note the $users =
将用于存储查询构建器对象的变量命名为更明显的名称可能会更好;例如 $query
也许。
$query = Users::where();
$users = $query->get();
当我尝试在没有链接的情况下触发查询时,我的浏览器被挂起 - 根本没有 response/error,但是使用链接的查询工作正常。我在很多地方读到 Laravel 即使不使用链接也允许查询。但是不知道为什么它对我不起作用。
顺便说一句,它只是一个演示项目,所以在名为 "users" 的数据库中只有 1 个 table 有 50 条记录,所以浏览器不会因为以下原因而挂起作为查询结果返回的大量数据。
不工作:
$users = User::where('first_name', 'LIKE', '%Leonie%');
$users -> get();
工作:
$users = User::where('first_name', 'LIKE', '%Leonie%') -> get();
我使用的是最新的 Laravel 版本 5.2。所有东西都配置正确,如数据库、应用程序配置等。
如有任何帮助,我们将不胜感激。
谢谢。
我就是这样用的,效果很好。像这样尝试一下,看看是否有帮助。
$query = DB::table('your_table_name');
$query->where('name', 'LIKE', 'something');
$some_variable = $query->where('published', 1)->get();
当您不调用 get()
或 first()
(以及其他几个)获取结果集时,您最终只会得到一个 Builder
对象。这是用于构造查询的对象。在您的第一个示例中,您将 Builder
对象分配给 $users
,但在您的第二个示例中,您分配了一个 Collection
对象。
// This assigns the result to $users
$users = User::where('first_name', 'LIKE', '%Leonie%') -> get();
// Doesn't assign the result to $users
$users = User::where('first_name', 'LIKE', '%Leonie%');
$users -> get();
你需要做
$users = User::where('first_name', 'LIKE', '%Leonie%');
$users = $users->get(); // Note the $users =
将用于存储查询构建器对象的变量命名为更明显的名称可能会更好;例如 $query
也许。
$query = Users::where();
$users = $query->get();