【问题标题】:Eloquent Relationships, linking of models (Laravel 5.4)雄辩的关系,模型的链接(Laravel 5.4)
【发布时间】:2017-10-04 07:33:35
【问题描述】:

我有点困惑 Laravel 5.4 中雄辩的关系是如何工作的。 我有一个与我的用户模型有“hasMany”关系的学校模型:

public function users()
{
    return $this->hasMany('App\User');
}

虽然用户不需要链接到学校,所以我没有在我的用户模型上放置 belongsTo(学校)函数。

例如,当我创建用户时,我应该如何将用户链接到学校以及如何将特定学校中的所有用户拉到一个视图中?

【问题讨论】:

标签: php laravel eloquent laravel-5.4


【解决方案1】:

如果用户只能属于一所学校,最直接的方法是在users 表中添加一个school_id 列。由于它不是必需的,因此您可以允许它为空。这将允许您运行 $school->users 来检索给定学校的用户列表。

我还建议将 belongsTo 关系添加到 User 模型中,这样您就可以使用 $user->school 在适用时检索用户的学校。对某些用户来说它为空也没关系。

【讨论】:

  • 我无法让“$school->users”工作。我试过 $school = School::find(1); $学校->用户;并将其传递给紧凑型视图,但它不起作用。我收到此错误:“HasRelationships.php 第 487 行中的 FatalThrowableError:找不到类 'App\Users'”-我为我的用户模型添加了 belongsTo(学校)。
  • 它是否在您的代码中某处定义为App\Users?我怀疑应该是App\User(单数)。
  • 是的,我在学校关系中输错了“用户”。我很累,我的坏! :S
猜你喜欢
  • 2017-10-01
  • 1970-01-01
  • 2017-10-12
  • 2019-02-12
  • 1970-01-01
  • 1970-01-01
  • 2018-02-19
  • 2013-06-04
相关资源
最近更新 更多