У меня есть вопрос о EloquentLaravel hasmany отношение объект
У меня в альбоме много фотографий, и на каждой фотографии есть теги.
моя модель выглядеть
class Album extends Eloquent {
public function photo() {
return $this->hasMany('Photo','album_id')->select('url_thumb', 'url_natual', 'url_thumb_tiny');
}
}
class Photo extends Eloquent {
public function tags() {
return $this->hasMany('PhotoTags','photo_id')->select(array('x', 'y','width','height','msg'));
}
}
class PhotoTags extends Eloquent {
public function photo() {
return $this->belongsTo('Photo','photo_id');
}
}
Мой контроллер выглядит
class AlbumController extends Controller {
protected $data = [];
public function __construct() {
$this->data['item'] = Album::where('album_id', '=', $id)- >where('user_id','=',Auth::user()->user_id)->first();
}
public function managePhoto($id) {
print_r($this->data['item']->photo[0]); //it's works fine, i can get photos under the album
print_r($this->data['item']->photo[0]->tags); //i can't get tags of each photo
}
}
как я могу получить теги каждой фотографии ???
и можно использовать жадную загрузку, поэтому в контроллере и использовать 'Фото :: с ('тегами) -> получить()' и петлю над ними в представлении, теперь каждый элемент будет выбран вместе с его тег, проверить http://laravel.com/docs/4.2/eloquent#eager-loading – ctf0