有人能详细说明Eloquent的Model::query()
是什么意思吗?
答案 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);
}
希望这个示例有帮助。