2016-06-10 24 views
2

Im Oktobercms habe ich eine Liste von Shows (Primary). Sie haben eine große Beziehung zu Jahreszeiten und Jahreszeiten gehören zur Show. Dann habe ich Episoden, die zu der Saison gehören (Staffel hasMany Episoden)Octobercms/Laravel erhalten ID basierend auf Relation

In dem Bild unten, was ich tun möchte, ist die Saison, die der Show gehört, nicht jede Saison erstellt, was ist, was unten angezeigt wird. Weiß jemand mit Laravel- oder octobercms-Wissen, wie ich das umsetzen könnte?

Die Art und Weise, wie octobercms funktioniert, besteht darin, dass das Dropdown-Menü durch Relationen oder manuell über das Modell ausgefüllt wird. Im tun es durch Beziehungen:

public $hasMany = [ 
     'episodes' => ['Teranode\Anime\Models\AnimeEpisode', 'key' => 'season_id'], 
    ]; 

Diese beiden Links helfen würde, aber nicht, was im Versuch zu bekommen: http://octobercms.com/docs/database/relations
http://octobercms.com/docs/backend/relations

http://image.prntscr.com/image/a0fa04481cc04ac5ad9af6371bace94d.png

+0

Bitte Code teilen die 'Season' Dropdown-Liste zum Bestücken – haakym

Antwort

0

I verwenden Anfrage :: segement() die ID der Show, in der Folge Modell unter der Drop-Down-Funktion zu erhalten:

public function getSeasonOptions() 
{ 
    return Season::where('anime_id', Request::segment(6))->lists('title', 'id'); 
} 

Dieser Prozess auf verschachtelte Beziehungen helfen kann, aber das Segment Betrag wird geändert werden, wenn Sie die URL der primären Seite tiefer machen.

@haakym the $ show = Zeigen :: find (1); hat nicht wirklich geholfen, seit ich versuche, die ID automatisch nicht manuell zu bekommen. Ich verstehe, dass seine hilfreich sein annehmen, aber das Beispiel hilft nicht

0

Was ist der Kontext Ihrer Create Episodes modal? Sicherlich sollte die Show definiert werden, wenn sie nicht schon im Modal ist?

Wie ich es Ihre Beziehungen zu verstehen, wie diese Arbeit:

Show hasMany Season

Season hasMany Episode

Was würde ich empfehlen, ist die Drop-down mit dem spezifischen Show ‚s versuchen bevöl Season s, dann sehen Sie nur die Season s, die zu der Show gehören.

So in Code, der wie folgt aussehen würde ...

Lassen Sie uns sagen, dass wir alle Jahreszeiten für die Show mit einem ID von 1 erhalten möchten:

$show = Show::find(1); 

$seasons = $show->seasons; // seasons that belong to show where id = 1 

Hoffnung, das hilft?

+0

Das Problem der Rekord-ID der Saison wird immer oder den primären Datensatz im Allgemeinen. Die Rückseite von octobercms ist irgendwie verwirrend. – Terrabyte

Verwandte Themen