我的问题是,在使用依赖倒置原则时,有人如何使用eagerloading?
在这种情况下例如!
abstract class dbrepo
{
public function findorfail($id)
{
return $this->model->findOrFail($id);
}
}
答案 0 :(得分:1)
您仍然使用with()
方法:
return $this->model->with('relation1', 'relation2')->findOrFail($id);
好吧,你可以接受一组关系加载作为第二个参数。
public function findorfail($id, array $relations = [])
{
$query = $this->model;
if (!empty($relations)) {
$query = $query->with($relations);
}
return $query->findOrFail($id);
}
但是,在某些时候,您需要问自己,您将尝试在存储库模式中重新实现多少Eloquent。在get()
方法上,您是否要为where,order by,group by,limit,join,eager load等添加参数?您是否要在存储库中重新实现整个查询构建器?