class User extends \Eloquent {
public function cards() {
return $this->belongsToMany('Card','user_card')->withPivot('sort')->orderBy('user_card.order', 'asc');
}
}
我可以通过$user->sync(Input::get("card_ids",[]))
附加卡片然而我正试图弄清楚如何更新枢轴值“排序”为array_keys(Input::get("card_ids",[]))
的值[基本上是用户的顺序提交他们的]
这可能是雄辩的吗?
答案 0 :(得分:1)
同步数据透视列的语法是:
$user->roles()->sync(array(1 => array('expires' => true)));
要实现这一点,您可以先使用array_flip
切换键值,然后array_map
以所需格式显示值:
$cards = Input::get('card_ids', []);
$cards = array_flip($cards);
$cards = array_map(function($sort){
return array('sort' => $sort);
}, $cards);
$user->cards()->sync($cards);