Ich versuche, eine Liste von Genres abzurufen, denen eine Spur zugewiesen wurde. Ich verwende eine whereHas eloquente Abfrage, fühle mich aber etwas verloren.Eloquent Laravel - Ergebnisse nur abrufen, wenn die Beziehung existiert
Ich habe folgende
//model
public function workingGenre() {
$this->whereHas('tracks', function($query) {
$query->where('');
});
return $this->tracks()->first();
}
//controller (where i am passing variables etc)
$genres = Genre::with('tracks')->get();
//my view
@foreach($genres as $genre)
{{print_r($genre->workingGenre())}}
@endforeach
mir bewusst bin, dass mein Wo leer ist, mein derzeitiger print_r gibt die folgenden:
1
App\Track Object
(
[table:protected] => Track
[fillable:protected] => Array
(
[0] => id
[1] => GenreId
[2] => Title
[3] => CreatedById
[4] => SelectedCount
[5] => ProducerName
[6] => SourceId
[7] => Published
)
[connection:protected] =>
[primaryKey:protected] => id
[perPage:protected] => 15
[incrementing] => 1
[timestamps] => 1
[attributes:protected] => Array
(
[id] => 6
[GenreId] => 4
[Title] => Guns Up
[CreatedById] => 1
[SelectedCount] => 0
[ProducerName] =>
[SourceId] => 1
[Published] => 1
)
[original:protected] => Array
(
[id] => 6
[GenreId] => 4
[Title] => Guns Up
[CreatedById] => 1
[SelectedCount] => 0
[ProducerName] =>
[SourceId] => 1
[Published] => 1
)
[relations:protected] => Array
(
)
[hidden:protected] => Array
(
)
[visible:protected] => Array
(
)
[appends:protected] => Array
(
)
[guarded:protected] => Array
(
[0] => *
)
[dates:protected] => Array
(
)
[dateFormat:protected] =>
[casts:protected] => Array
(
)
[touches:protected] => Array
(
)
[observables:protected] => Array
(
)
[with:protected] => Array
(
)
[morphClass:protected] =>
[exists] => 1
[wasRecentlyCreated] =>
)
**And so on**
Einen Schub in der richtigen Richtung wäre toll, ich Ich finde dieses ganze eloquente Zeug wirklich nützlich, aber es ist schwer, meinen Kopf herumzulegen.
Dank
entferne ich denke, dass ich meine Frage schlecht formuliert, gewann ich‘ Ich habe null Felder, ich möchte nur Genres anzeigen, die eine Spur haben, die mit ihnen verwandt ist, meine schlechte. – ExohJosh
Ok, hast du deine Tracks-Tabelle 'genre_id'? – Froxz
Ja, mit der Modellbeziehung so eingerichtet öffentliche Funktion Genre() { Rückgabe $ This-> AngleTo (\ App \ Genre :: Klasse, 'GenreId', 'ID'); } – ExohJosh