Eloquent的Model :: query()是什么意思?

时间:2018-07-25 10:55:55

标签: laravel eloquent laravel-5.6 laravel-query-builder

有人能详细说明Eloquent的Model::query()是什么意思吗?

1 个答案:

答案 0 :(得分:7)

每次在Eloquent中查询模型时,都在使用Eloquent查询生成器。雄辩的模型使用魔术方法(__call,__ callStatic)将调用传递给查询构建器。 Model::query()返回此查询生成器的实例。

因此,由于where和其他查询调用被传递到查询生成器:

Model::where()->get();

与:

Model::query()->where()->get();

我过去使用Model :: query()的地方是我需要实例化查询,然后根据请求变量建立条件。

$query = Model::query();
if ($request->color) {
    $query->where('color', $request->color);
}

希望这个示例有帮助。