Laravel Eloquent Beitreten

Ich bin Recht neu mit Laravel. Ich bin immer noch versuchen, es zu lernen. Meine Frage ist:

Ich habe 3 Tabellen mit dem Namen

  • Spiele
  • game_options
  • game_platforms

    Laravel Eloquent Beitreten

Habe ich 3 Modelle für die Tabellen

  • Spiel-Modell

    class Game extends Eloquent
    {
        protected $table = 'games';
    
        public function platforms()
        {
            return $this->hasManyThrough('GamePlatform','GameOptions','id','game_id');
        }
    }
  • GamePlatform Modell

    class GamePlatform extends Eloquent
    {
        protected $table = 'game_platform';
    }
  • GameOption Modell

    class GameOptions extends Eloquent
    {
        protected $table = 'game_options';
    }

So, wenn ich

$game = Game::find(1)->platforms;

Zeigt nur,

{"id":1,"platform_id":20,"game_id":1}
{"id":1,"platform_id":21,"game_id":1}
{"id":1,"platform_id":22,"game_id":1}
{"id":1,"platform_id":23,"game_id":1}
{"id":1,"platform_id":24,"game_id":1}

Aber ich brauche Namen für das Spiel eingeben und Plattform-Namen mit solchen ID ' s. Die Sache ist die, ich möchte dies mit beredten nur. Ich konnte gehen, mit "DB" oder oldschool-SQL, aber ich möchte, um zu erfahren, ob dieser Weg möglich ist oder nicht.

Auch ich bin auf der Suche nach einer besseren Dokumentation/Bücher für laravel. Die meisten von was ich gelesen habe wurden nur vorstellen, laravel oder viel zu Fortgeschritten für mich.

  • Ich könnte Weg Basis hier, aber ich habe das Gefühl, dass Sie hasManyThrough wenn belongsToMany würde hier passen. Ich weiß nicht viel über hasManyThrough so kann man sicherlich sagen Sie mir, wenn ich falsch bin, aber vielleicht versuchen Sie, dies zu ändern. Zumindest dann ruft $game->platforms() wird Ihnen eine Collection von GameOptions nicht GamePlatforms
InformationsquelleAutor Geartz | 2014-02-19
Schreibe einen Kommentar