【发布时间】:2021-02-03 00:42:32
【问题描述】:
class Parent extends Model
{
public function kids()
{
return $this->belongsToMany('App\Models\Kid')
->orderBy('age')
->withTimestamps();
}
public function oldestKid()
{
return $this->belongsToMany('App\Models\Kid')
->orderByDesc('age')
->take(1);
}
}
这种方法的问题是$parent->oldestKid 返回一个数组。如果它返回一个对象会感觉更合乎逻辑。
$parent = App\Models\Parent::with('oldestKid')->first();
【问题讨论】:
-
IIRC
belongsToMany()不管有多少结果都会返回一个集合。