【问题标题】:simple One to many relationship laravel简单的一对多关系 laravel
【发布时间】:2020-04-28 18:10:18
【问题描述】:

我有一个用户(管理员)和一个学生,我希望他们在仪表板控制器上的一个表中,我在搜索中找不到确切答案,请帮助我

学生模特

public function user()
{
    return $this->belongsTo("App\User", 'User_id', 'id');
}

用户模型

public function student()
{
    return $this->hasMany("App\Student");
}

仪表板控制器

$users = User::with('user_id');

return view('superadminpage.admin_table')->with('users', $users);

【问题讨论】:

  • 将您的student() 方法更改为students(),并使用User::with('students')
  • 仍然无法查看学生

标签: laravel eloquent relationship


【解决方案1】:

像这样编辑学生模型代码:

public function user(){
     return $this->belongsTo("App\User");
}

同时编辑用户模型:

   public function students(){
        return $this->hasMany("App\Student");
   }

然后在 DashboardController 中使用

 $users = User::query()->with("students")->all();

 return view('superadminpage.admin_table')->with('users', $users );

那么你可以这样做:

foreach($users as $user){
    $students = $user->students;

    // use
}

【讨论】:

  • foreach($users as $user){ $students = $user->students; // use } 我应该把这个放在哪里?
【解决方案2】:

首先在学生模型中将 User_id 更改为 user_id

 public function user()
        {
            return $this->belongsTo("App\User", 'user_id');
        }

DashboardController 的第二次更改

 $users = User::with('user_id'); to $users = User::with('student')->all();

首先在学生模型中将 User_id 更改为 user_id

 public function user()
        {
            return $this->belongsTo("App\User", 'user_id' , 'id');
        }

DashboardController 的第二次更改

 $users = User::with('user_id'); to $users = User::with('student')->all();

将用户模型 public function student() 更改为 public function students() 并调用 DashboardController $users = User::with('students')->all(); 也很好

【讨论】:

  • 嗨,兄弟仍然无法查看我认为的学生,您能帮帮我吗。
  • 使用 $users = User::query()->with("students")->all();
【解决方案3】:

公共函数用户() {

    return $this->hasMany('App\User');

}

公共函数角色()

{
  return $this->belongsTo('App\Role');
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-15
    • 2017-04-04
    • 1970-01-01
    • 2018-09-27
    • 2017-12-24
    • 2018-04-20
    相关资源
    最近更新 更多