如何在 Laravel 中使用 eloquent 检索每个用户的特定数据
Posted
技术标签:
【中文标题】如何在 Laravel 中使用 eloquent 检索每个用户的特定数据【英文标题】:how can retrive specific data for each user by using eloquent in Laravel 【发布时间】:2022-01-16 20:17:28 【问题描述】:我在数据库中有两个表,用户表和会议表。 当用户成功登录时,我希望向他们显示会议表中的信息。 但并非所有这些都只是他创建或邀请的那个。
这是我的路线:
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'));
【讨论】:
以上是关于如何在 Laravel 中使用 eloquent 检索每个用户的特定数据的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Eloquent 在 Laravel 中开始查询?
如何在 laravel 5 中使用 Eloquent 更新数据透视表
如何在 Eloquent 模型中使用 Laravel Livewire?