Ich habe vier Tabellen, die departments
ist, users
, items
, items_inventories
Laravel eloquent anfragende mit mehreren Beziehungen
Die Beziehung ist wie folgt:
A user
hat einen zugeordneten department
. Eine item
hat eine zugewiesene department
. item_inventories
hat viele Gegenstände.
Struktur:
users
->id
->name
->password
->access_type (department_id)
departments
->id
->name
items
->id
->name
->department_id
items_inventories
->id
->item_id
->qty
Meine Modelle:
class Item extends Model
{
public function department()
{
return $this->hasOne('App\Http\Models\Department', "id", "department_id");
}
}
class ItemsInventory extends Model
{
public function item()
{
return $this->hasOne('App\Http\Models\Item', "id", "item_id");
}
}
In meinem items_inventories
wie kann ich alle Elemente abfragen, die zu einer bestimmten Abteilung gehört? Seit items
hat bereits eine Beziehung zu departments
, Wie kann ich abfragen wie: Wählen Sie alle Elemente in items_inventories wo Element department_id gleich 3 ist?
Mein Ziel ist, ich habe einen Benutzer, der angemeldet ist, und ich kann die ihm zugewiesene Abteilung über access_type
(Abteilung_ID) zugreifen, wenn meine Seite lädt, möchte ich nur Elemente in der items_inventories
, die zugewiesen ist zu seiner/ihrer Abteilung. Ich habe bereits überprüft: https://laravel.com/docs/5.4/eloquent-relationships#relationship-methods-vs-dynamic-properties
aber kann nicht scheinen, etwas zu finden, das meine Anforderung entspricht. Danke