向数据透视表添加自定义排序顺序

时间:2015-12-11 20:57:21

标签: laravel eloquent

我在User和my Worker模型之间建立了多对多的关系。如果用户将工作人员添加到其帐户,则工作模型将附加到用户。这很好用。但现在我想添加一个costum排序顺序,每个用户可以根据自己的需要进行修改(基本上单击表格中的向上和向下按钮可以在列表中上下移动他的工作人员)。所以我在我的数据透视表中添加了一个sort_id。但我很难设置sort_id。我有两个问题:

我将Worker附加到用户:$request->user()->workers()->attach($worker);但是如何将sort_id添加到数据透视表?

1 个答案:

答案 0 :(得分:1)

public function workers(){
    return $this->belongsToMany('Worker')
                ->withPivot('sort_id')
                ->orderBy('pivot_sort_id','asc');
}

然后编辑sort_id

$user->workers()->updateExistingPivot($workerId, ['sort_id'=>$newSortId]);