A
A
Andrey Surzhikov2016-11-19 22:56:58
Laravel
Andrey Surzhikov, 2016-11-19 22:56:58

What is the best way to get a collection?

Добрый вечер.
Пожалуйста, кто может, объясните, как (точнее "где?", "в каком файле?") правильнее организовать получение списка объектов (с точки зрения Best Practice ООП). На примере фотоальбома. В Laravel.
Предположим есть
- две модели: Album и Photo
- два контроллера: AlbumController и PhotoController
- View на котором выводятся все фотографии фотоальбома.
Для Альбома нужно получить список (коллекцию) всех фотографий этого альбома.
Как (в каком из файлов) это корректнее и удобнее сделать?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
E
Ernest Faizullin, 2016-11-19
@Surzhikov

In the Album.php model

class Album extends Eloquent {

  public function photos()
  {
    return $this->hasMany(Photo::class);
  }

}

In the Photo.php model
class Photo extends Eloquent {

  public function album()
  {
    return $this->belongsTo(Album::class);
  }

}

In AlbumController we pass photos to the view
class AlbumController extends Controller {

  ...

  public function show($id)
  {
    $album = Album::find($id);

    return view('album')->with(['photos' => $album->photos]);
  }

  ...

}

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question