能否详细解释一下 Eloquent 中 Model::query()
的含义?
能否详细解释一下 Eloquent 中 Model::query()
的含义?
每当您在Eloquent中查询一个模型时,都会使用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);
}
$query->get()
。 - Mohamed Raza