我们可以获取 hasMany 关系的一个实例
在我们的 AppServiceProvider.php 中
public function boot()
{
HasMany::macro('toHasOne', function() {
return new HasOne(
$this->query,
$this->parent,
$this->foreignKey,
$this->localKey
);
});
}
假设我们有商店模式,我们正在获取已购买的产品列表。假设我们拥有 Shop 模态的所有购买关系
public function allPurchased()
{
return $this->hasMany(Purchased::class);
}
public function lastPurchased()
{
return $this->allPurchased()->latest()->toHasOne();
}