Buscar..


Introducción

Tenemos nuevas características para Eloquent Relationship en la versión 5.4.8 de Laravel. Podemos obtener una instancia única de una relación hasMany (es solo un ejemplo) definiéndola en el lugar y funcionará para todas las relaciones

Podemos obtener una instancia de la relación hasMany

En nuestro AppServiceProvider.php

public function boot()
{
  HasMany::macro('toHasOne', function() {
      return new HasOne(
          $this->query,
          $this->parent,
          $this->foreignKey,
          $this->localKey
      );
  });
}

Supongamos que tenemos tienda modal y obtenemos la lista de productos que hemos comprado. Supongamos que tenemos todas las relaciones adquiridas para Shop modal

public function allPurchased()
{
    return $this->hasMany(Purchased::class);
}

public function lastPurchased()
{
    return $this->allPurchased()->latest()->toHasOne();
}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow