Eloquent ORM: Relace: Has Many Through

Has Many Through

Poskytuje pohodlnou zkratku pro přístup ke vzdáleným relacím pomocí prostřední vazby.

Příklad

Model Country může mít mnoho modelů Post prostřednictvím modelu User:

Pomocí relace hasManyThrough lze jednoduše získat všechny příspěvky (tabulka posts) pro danou zemi (tabulka countries), přestože tabulka posts neobsahuje přímou vazbu na tabulku countries.

$country->posts

Struktura modelu

namespace App;

use Illuminate\Database\Eloquent\Model;

class Country extends Model
{

  /**
   * Get all of the posts for the country.
   */
  public function posts()
  {
    return $this->hasManyThrough('App\Post', 'App\User');
  }

}

Jako první parametr metody hasManyThrough uvádíme model ke kterému chceme získat přístup, jako druhý parametr uvádíme model prostředníka.

Zdroje

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *