laravel - 在不使用查询的情况下启动查询生成器

标签 laravel laravel-5 eloquent laravel-query-builder

所以,我可以使用 User::where('username', '!=', null)->get();

但是,我想使用 if 条件从第一个条件开始链接查询,而 where('username', '!=', null) 在这里是不必要的案件。让我举一个伪例子:

我正在运行一个基于用户的报告,其中有多个字段。我想像这样初始化查询构建器,并使用 if 语句链接查询。

$user = User::class();   // I know I can't use this line, however you'll get the idea.

if (isset($gender)) {
   $user = $user->where('gender', $gender);
}

if (isset($age)) {
   $user = $user->where('age', $age);
}

$users = $user->get()

是开始查询(在第一行)的唯一方法:

$user = User::where('username', '!=', null)

最佳答案

你在找

$userQuery = User::query();

然后,添加一些附加条款:

$userQuery->where(...);

然后,提供一个闭包(->first()->get() 等)让您的用户:

$users = $userQuery->get();

关于laravel - 在不使用查询的情况下启动查询生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51404238/

相关文章:

php - Laravel 对象数据被覆盖了吗?

php - Laravel ownsToMany() 关系与 all() 或 where() 方法一起使用,而不仅仅是 find()

php - 拉维尔 5 : differentiate if new row inserted in DB

php - 拉维尔 5 : Installing ide helper for Netbeans

php - Laravel 5 中的自动加载助手函数目录

laravel-5 - 视频上传在 laravel 5 中不起作用

php - 如何在 PHP (Laravel) 中使用多个接口(interface)实现?

php - 使用 Socialite Laravel 检索 Facebook 用户详细信息

php - Laravel:在分页中自定义页面链接

php - Laravel 原始子查询同表