雄辩的订购相关数据

时间:2014-09-30 09:56:30

标签: laravel eloquent

我正在使用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'。

1 个答案:

答案 0 :(得分:0)

你的with($ with)需要重写,以便它使用关系约束:

...->with($with => function($query){
   $query->orderBy('name','asc');
})->...