I have the following querie:
$content_movie=$this->content::with([
'credits'=>function($query){
$query->select('id','credit_type','department','job','characterr','person_id');
},
'collections.images'=>function($query){
$query->select('collections_id','id','file_path');
},
//colecciones
'collections'=>function($query){
$query->select('id','name','overview');
},
'collections.images',
'collections.content'=>function($query){
$query->select('id','collections_id','name','slug');
},
'collections.content.images'=>function($query){
$query->select('id','content_id','file_path','vote_count')->where('is_backdrop',0)->orderBy('vote_count','desc');
},
//contenido propio del elemento que estamos buscando
'images'=>function($query){
$query->select('content_id','is_backdrop','file_path')->orderBy('vote_count', 'desc')->first();
},
'genres',
'credits.person.images',
])->where('slug',$args['slug'])->get(['id','name','collections_id','overview','release_date','status','video','vote_average']);
$content=$content_movie->toJson();
To put you in situation, each 'collection' has movies and each movie has images
collections --> movies --> images.
For example:
we have the kill bill collection --> kill bill 1 --> image of kill bill 1 | kill bill 2 --> image of kill bill 2 | kill bill 3 --> image of kill bill 3
if in the above code I modify the collection.content.images.... in this way for only take 5 images of each film:
'collections.content.images'=>function($query){
$query->select('id','content_id','file_path','vote_count')->where('is_backdrop',0)->orderBy('vote_count','desc')->limit(5);
},
is going to take the 5 first images of kill bill 1 but not the first 5 of the 2ºpart and the 3º part.
if instead of put limit(5) I put the next code:
'collections.content.images'=>function($query){
$query->select('id','content_id','file_path','vote_count')->where('is_backdrop',0)->orderBy('vote_count','desc')->first();
},
to take the first image of each film only takes the first image of kill bill 1.
how can I modify my code to get one image of each film, calling a model inside of another model, inside of another model?
I have read the documentation, but I not be able to figure out how to do this.
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire