如何在 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/Eloquent 中获得完整的关系

如何在 laravel 5 中使用 Eloquent 更新数据透视表

如何在 Eloquent 模型中使用 Laravel Livewire?

如何在 Laravel 4 中手动创建一个新的空 Eloquent 集合

如何使用 eloquent 在 laravel 迁移中删除 POSTGRES 表或视图?