Szukaj…


Wprowadzenie

Mamy nowe funkcje Elokwentnego związku w wersji Laravel 5.4.8. Możemy pobrać pojedynczą instancję relacji hasMany (to tylko jeden przykład), definiując ją na miejscu i będzie ona działać dla wszystkich relacji

Możemy pobrać jedną instancję relacji hasMany

W naszym AppServiceProvider.php

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

Załóżmy, że mamy modalny sklep i otrzymujemy listę zakupionych produktów. Załóżmy, że mamy relację zakupioną dla modalnego sklepu

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow