2017-04-11 5 views
0

Ich verwende die Eloquent-Bibliothek, und ich möchte zwei Tabellen verbinden und dann das Ergebnis anzeigen.Tabellen mit Eloquent verbinden

In meiner index.php Ich habe die folgenden Zeilen:

$identification = $_GET['id']; 
$schoolToArrangement = School::where('id', $identifikasjon)>with('arrangements')->get(); 
echo $skoleTilArrangement; 

Ofcourse, ich auch meine Schulklasse haben:

<?php 

use Illuminate\Database\Eloquent\Model; 
require_once 'vendor/autoload.php'; 

class School extends Model { 
protected $fillable = [ 'id', 'name', 'adress', 'picture']; 

public function arrangements() 
{ 
    return $this->hasOne('Arrangement','schoolId','id'); 
} 

} 

Und dann, ich brauche natürlich eine Vereinbarung Klasse:

<?php 

use Illuminate\Database\Eloquent\Model; 
require_once 'vendor/autoload.php'; 

class Arrangement extends Model { 
    protected $fillable = [ 'id', 'schoolId', 'type', 'place', 'adress']; 

} 

Also ist die Idee, dass ich eine Seite machen werde, um bestimmte Vereinbarungen in bestimmten Schulen anzuzeigen.

Aber, wenn ich $ skole Echo, das Ergebnis ist das folgende:

[{ "id": 3, "navn": "Westerdals Campus

Brenneriveien", "Adresse": "Brennerveien", "Bild": "https://www.westerdals.no/>content/uploads/2016/10/MH-brenneriveien-vulkano-oktober-26-1->960x720.jpg", "Arrangements": > { "id": 1, "skoleId": 3, "type": "Party", "Ort": "Nachtclub", "Adresse": "Partyroad 1337"}}]

Mit anderen Worten: Mein Join funktioniert.

Allerdings möchte ich nur die Zeile anzeigen, die aus der Tabelle Arrangements gesammelt wurde, und nicht die entsprechende Zeile in der Tabelle School. Wie kann ich nach dem Verbinden die Spalten der Arrangement-Tabelle wiedergeben?

Oder mit anderen Worten, wie kann ich die Informationen aus der Tabelle Arrangements Echo?

Fragen Sie einfach, wenn etwas unklar ist, obwohl ich denke, dass mein Problem verständlich sein sollte.

Danke!

+0

Beule ****** ************** ' – CHBR

Antwort

0

Also, wenn Sie nur für die Ausgabe der Anordnungen einer Schule möchten, können Sie dies tun:

echo $skoleTilArrangement->arrangements

und durch Vereinbarungen itarate:

foreach($skoleTilArrangement->arrangements as $arrangement) { 
    echo $arrangment->id; 
} 
+0

Vielen Dank! Als ich "echo $ skoleTilArrangement [0] -> arrangements;" machte, konnte ich das erste Arrangement ausgeben. Aber entschuldige meine "Noobieness" - wie kann ich durch das Array iterieren und jedes Arrangement anzeigen? – CHBR

+0

Ich probierte verschiedene Varianten davon ohne Glück: foreach ($ skoleTilArrangement als & $ skole) { echo $ skoleTilArrangement-> arrangementer-> id; } – CHBR

+0

aktualisierte meine Antwort –

Verwandte Themen