我需要能够将用户添加到尚未拥有ID的数据透视表中。稍后当该用户成为会员时,我可以使用他们的ID更新他们的记录。
以下是我的模特:
class Group extends Eloquent {
public function members()
{
return $this->belongsToMany('User', 'member')
->withPivot('first','last','favorite_food')
->withTimestamps();
}
}
class User extends Eloquent {
public function groups()
{
return $this->belongsToMany('Group')->withTimestamps();
}
}
这有效:
$group->members()->attach(Auth::user()->id, array('first' => $new_array[$key][0], 'last' =>
$new_array[$key][1], 'favorite_food' => $new_array[$key][2]));
这不起作用,但我真的希望如此:
$group->members()->attach(null, array('first' => $new_array[$key][0], 'last' => $new_array[$key]
[1], 'favorite_food' => $new_array[$key][2]));
答案 0 :(得分:1)
我认为你可能会以错误的方式解决这个问题,在我看来,更好的解决办法是让你的"临时"用户在您的数据库中的实际用户,但只需添加"临时"如果要标记它们,您可以始终根据其updated_at时间戳清除临时用户。
这将同时解决您的null问题。