Ich habe folgende Situation:Laravel 5.3: hasManyThrough Beziehung
location
id - integer
network_id - integer (FK)
network
id - integer
owner_id - integer (FK)
owner
id - integer
name - string
Ich habe ein Eloquent Modell für meine Standortdaten. Jetzt möchte ich eine RESTful-API erstellen, mit der ich die Besitzerdaten über das Netzwerkmodell abrufen kann.
Ich habe versucht mit hasManyThrough
ohne Glück. Das Modell hat die folgenden Beziehungen;
Network - Location = One to Many
Owner - network = One to One
So viele Standorte gehören zu einem Netzwerk, und jedes Netzwerk hat einen Besitzer. Dies ist immer der Fall.
Ich habe Folgendes versucht.
class Location extends Model
{
public function owner() {
return $this->hasManyThrough('App\Owner', 'App\Network, 'id', 'id);
}
}
Dann das Modell in meiner Ressource zurückgeben.
class LocationController extends Controller
{
public function index() {
return [
'data' => Location::with('network', 'owner')->take($limit)->take($offset)->get()
];
}
}
Ich bekomme keinen Fehler, aber das Modell gibt keinen Besitzer zurück, sondern nur ein leeres Array.
Kann mir jemand helfen, eine Beziehung zwischen diesen Modellen mit Laravel's Eloquent herzustellen? Ich benutze Laravel 5.3.
uns Bitte zeigen Sie, was Sie versucht haben, und welche Probleme auftraten. – Adrenaxus