我在数据库中有两个表,用户表和会议表。 当用户成功登录时,我希望向他们显示会议表中的信息。 但并非所有这些都只是他创建或邀请的那个。
这是我的路线:
Route::get('/dashboard/per_userid',[meetingController::class, 'meet_for_user'])-
>name('meet_for_user');
这是我的控制器:
public function meet_for_user()
$meetings=meeting::with('users')->get();
return view('dashboard', compact('meetings'));
这是用户模型:
public function meeting()
return $this->hasMany(meeting::class,'idCreateMeeting','id');
这是会议模型:
public function users()
return $this->belongsTo(User::class,'idCreateMeeting','id');
【问题讨论】:
【参考方案1】:如果您将路由的定义方式更改为期待User
id
,您可以使用route model binding 将User
注入到您的控制器方法中并从那里开始他们的会议。
Route::get('/dashboard/per_user/user',[meetingController::class, 'meet_for_user'])
->name('meet_for_user');
public function meet_for_user(User $user)
$meetings = $user->meetings;
return view('dashboard', compact('meetings'));
【讨论】: