我有一个包含3个表的数据库:users
,events
和user_event
。
我创建活动。创建活动后,我想添加用户。
如何通过表格添加他以添加用户?
我的数据透视表包含:
event_id
,user_id
我需要创建一个UserEventController吗?
我的模型关系:
public function users()
{
return $this->belongsToMany('User')->withPivot('user_event');
}
用于创建事件:
public function store(Request $request)
{
$this->validate($request, [
'course_name' => 'required|max:255',
'academic_year' => 'required|max:4|min:4',
'exam_session' => 'required',
'date_event' => 'required'
]);
$event = new Event();
$event->course_name = $request->course_name;
$event->academic_year = $request->academic_year;
$event->exam_session = $request->exam_session;
$event->date_event = $request->date_event;
$event->save();
}
感谢您的帮助!
答案 0 :(得分:0)
答案 1 :(得分:0)
由于事件已创建,因此您可以使用事件对象添加现有用户,创建新用户,甚至同步用户列表。
//create a new user
$event->users()->create(['name' => 'user name', 'email' => 'user email']);
//attach existing user
$event->users()->attach($userId');
//sync multiple existing users passing array of user ids
$event->users()->sync([1,2,4]);
您可以在此处查看有关所有这些方法的详细信息以及其他一些方法:https://laravel.com/docs/5.7/eloquent-relationships#inserting-and-updating-related-models