我如何通过以下方式使用此foreach:
foreach(Incident::with('domain')->get() as $incident){
如果我使用:
foreach(Incident::with('domain')->orderBy('weight')->get() as $incident){
它不起作用。真的希望有人可以帮助我。没有订单它可以工作,但它没有。我真的需要订单。
更新
我遇到的问题是失败的查询。我想要完成的是这个。我有2个laravel模型。事件和域名。重量来自Domain。我正在使用重量对域进行排序。事件不是通过domain_id按事件名称在域下排序。希望这能澄清很多,有人可以帮助我。
答案 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){}