【发布时间】:2021-10-04 14:57:13
【问题描述】:
User 模型与 PhoneNumber 类是一对一的关系:
public function phoneNumber() {
return $this->hasOne(PhoneNumber::class);
}
然而,如果 PhoneNumber 表有多行具有相同的 user_id(例如 1),则 Eloquent 语句会返回多个模型。
$multiplePhoneNumbers = User::find(1)->phoneNumber()->get();
这就引出了一个问题,hasOne() 与 hasMany() 关系的目的是什么?
【问题讨论】:
-
我注意到的一个区别是如果您使用急切加载。 hasOne() 只返回 1(第一个匹配项), hasMany() 将返回多个。 ---- $userModelWithOnePhoneNumber = User::with('phoneNumber')->find(1);
标签: laravel eloquent eloquent-relationship