Laravel foreach with order by

时间:2014-04-27 22:14:01

标签: php laravel

我如何通过以下方式使用此foreach:

foreach(Incident::with('domain')->get() as $incident){

如果我使用:

foreach(Incident::with('domain')->orderBy('weight')->get() as $incident){

它不起作用。真的希望有人可以帮助我。没有订单它可以工作,但它没有。我真的需要订单。

更新

我遇到的问题是失败的查询。我想要完成的是这个。我有2个laravel模型。事件和域名。重量来自Domain。我正在使用重量对域进行排序。事件不是通过domain_id按事件名称在域下排序。希望这能澄清很多,有人可以帮助我。

2 个答案:

答案 0 :(得分:1)

它不是不起作用的foreach,可能是查询没有返回你需要的东西,调试它你可以死掉并通过执行以下操作转储它:

dd( Incident::with('domain')->orderBy('weight')->get() );

您应该按照需要的顺序查看记录,否则您的数据库和/或查询会出现问题。

修改

如果您收到500错误,请检查您的网络服务器(apache,nginx?)日志以查看导致它的原因。并且,请向我们展示一些错误消息。

答案 1 :(得分:1)

你可能做错了的是没有将第二个参数传递给orderBy()方法。

foreach(Incident::with('domain')->orderBy('weight','asc')->get() as $incident){}