在 Laravel 中使用 orderBy 对关系进行排序
在 Laravel 中,可以循环遍历相关模型并显示它们的属性。然而,人们可能会遇到这样一种情况,这些相关模型需要以特定的方式排序。
例如,考虑这样一种场景,您有带有关联评论的帖子,并且您想要显示按帖子排序的评论ID。为此,您可以使用查询函数扩展关系模型。
public function comments() { return $this->hasMany('Comment')->orderBy('column'); }
在此代码中,orderBy('column') 方法用于指定所需的顺序。将列替换为适当列的名称以进行排序。
或者,您可以通过在单独的控制器中定义 orderBy() 方法来使用更动态的方法:
public function index() { $column = Input::get('orderBy', 'defaultColumn'); $comments = User::find(1)->comments()->orderBy($column)->get(); // use $comments in the template }
此解决方案允许您根据用户输入动态对评论进行排序,提供更灵活和可定制的排序选项。
以上是如何在 Laravel 关系中排序相关模型?的详细内容。更多信息请关注PHP中文网其他相关文章!