/ / Verbinden von zwei Datenbanktabellen mit Laravel eloquent - json, laravel-5, eloquent

Joining zwei Datenbanktabellen mit Laravel eloquent - Json, Laravel-5, eloquent

Ich habe zwei Tabellen in meiner Datenbank: Agency und Vehicle. Jedes Fahrzeug gehört einer Agentur und eine Agentur hat viele Fahrzeuge. Hier sind meine Modelle:

Agency Modell:

<?php

namespace App;
use IlluminateDatabaseEloquentModel;

class Agency extends Model
{
protected $fillable = ["name", "location"];

public function trains(){
return $this->hasMany("AppVehicle");
}
}

Vehicle Modell:

    <?php

namespace App;

use IlluminateDatabaseEloquentModel;

class Vehicle extends Model
{
protected $fillable = [
"agency_id",
"registration_number",
"description"
];

public function agency(){
return $this->belongsTo("AppAgency");
}
}

Nun, wie kann ich ein JSON-Objekt mit jeweils enthalten zurückgeben train mit der entsprechenden Agentur von meinem Controller? Muss ich den Tabellen basierend auf der Agentur-ID beitreten? Was ist der beste Weg, dies zu tun?

Danke für jede Hilfe :)

Antworten:

1 für die Antwort № 1

Sie können es mit ausprobieren with() und toJson() wie:

Agency::with("trains")->get()->toJson();