我正在使用Eloquent Repository按ID获取“菜单”,并返回所有相关的“menuitems”。这工作正常,但我有一个问题,他们的一个字段重新排序'menuitems'。所以我现在正在做:
$menu = $this->menuRepo->getById($id, 'menuitems');
在Eloquent Repo中调用此函数:
public function getById($id, $with = false)
{
if ($with)
{
return $this->model->withTrashed()->with($with)->findOrFail($id);
}
return $this->model->withTrashed()->findOrFail($id);
}
该功能正在整个系统中使用,所以理想情况下我想保留原样 - 或者需要更改它以便它不会在所有当前用法中中断。但即便如此,当我尝试添加
时->orderBy('name')
在那里它适用于'menu'而不是'menuitems'。
答案 0 :(得分:0)
你的with($ with)需要重写,以便它使用关系约束:
...->with($with => function($query){
$query->orderBy('name','asc');
})->...