每当我获得新模型时,如何更改查询构建器?
我发现压倒下面的方法有效,但我这样做并不好。有更好的方法吗?
所以我希望每次都为特定模型执行->join()
。
!! 我不想使用protected $with = [];
属性,因为我不想在没有必要的情况下执行额外的查询。
public function newQueryWithoutScopes()
{
$builder = $this->newEloquentBuilder(
$this->newBaseQueryBuilder()
);
// Once we have the query builders, we will set the model instances so the
// builder can easily access any information it may need from the model
// while it is constructing and executing various queries against it.
return $builder->setModel($this)->join('join statement comes here')->with($this->with);
}
答案 0 :(得分:1)
要在每次使用模型时影响查询,可以使用newQuery方法。
close project
但这可能会打破Eloquent,因为你的模型不再代表你的数据库模型;它现在是两个独立模型的Franken模型。