2015-01-19 1 views
1

Привет, ребята, как объяснялось в заголовке У меня проблемы с Laravel, Я создаю систему, в которой пользователь может иметь различные плейлисты (до 5) и в каждом плейлисте может быть много песен (до 50). Я пытаюсь включить все это в этом и пытаюсь распечатать его следующим образом:Laravel 4 Загрузка всех композиций из плейлиста в базу данных

У меня есть следующий класс для плейлистов:

<!-- language: lang-php --> 

    <?php 
    class Playlist extends Eloquent { 
     /** 
     * The database table used by the model. 
     * 
     * @var string 
     */ 
     protected $table = 'playlists'; 
     public $timestamps = false; 
     /** 
     * Whitelisted model properties for mass assignment. 
     * 
     * @var array 
     */ 
     protected $primaryKey='playlistid'; 

     protected $fillable = array('playlistname', 'userid'); 

     public function songs() 
     { 
      return $this->hasMany('Song', 'playlistid'); 
     } 
    } 




And the following class for a song: 

 <?php 
 
     class Song extends Eloquent { 
 
      /** 
 
      * The database table used by the model. 
 
      * 
 
      * @var string 
 
      */ 
 
      protected $primaryKey='songid'; 
 
      protected $foreignKey='playlistid'; 
 
      protected $table = 'songs'; 
 
      public $timestamps = false; 
 
      protected $fillable = array('songname', 'songurl', 'playlistid', 'position'); 
 
    
 
      public function playlistid() 
 
      { 
 
    return $this->belongsTo('Playlist', 'playlistid'); 
 
      } 
 
    public function fromList($id) 
 
    { 
 
    return $this->where('playlistid', $id); 
 
      } 
 
     }

И тогда я пытаясь назвать это на моей домашней странице, как:

 @foreach (Song::find(1)->fromList(1) as $song) 
 
     echo $song->songname 
 
     @endif

Но, похоже, что это не работает, кто-нибудь знает, как лучше это сделать или исправить?

ответ

0

Не уверен, если это то, что вы хотите, но вот как напечатать все песни одного плейлиста:

@foreach(Playlist::find(1)->songs as $song) 
    {{ $song->songname }} 
@endforeach 
+0

Вы долгожданная. Подождите еще 5 минут, а затем вы можете принять мой ответ, нажав на галочку рядом с ним. – lukasgeiter

+0

Спасибо большое за помощь <3 –