I have a model in which I am sorting items
public static function getArticleBlocks() {
return ArticleBlock::orderBy('order', 'ASC')->get();
}
This model has a parent Article
where I output the data with the ArticleBlock
data
public static function getArticle($id) {
return Article::where('id', $id)->with(['blog_categories', 'article_recommendations', 'article_blocks', 'article_comments'])->first();
}
How can I make the same sorting of article_blocks
when get Article
?
CodePudding user response:
If you want to sort the hasmany Relation records. You can pass the callback as array value inside with method.
Rename sort_column
to your requirement
public static function getArticle($id)
{
return Article::query()
->where('id', $id)
->with([
'blog_categories',
'article_recommendations',
'article_blocks' => function($query){
return $query->orderBy('sort_column','ASC');
},
'article_comments'
])
->first();
}