对Laravel来说很新,并试图弄清楚这些细节。 如果我编写一个主查询来选择表中的所有内容,我可以在从表中选择列和行时编写单个查询。
示例:
主要查询:
public function allTickets(){
$tickets = DB::table('tickets')->get();
return view('admin.index',compact('tickets'));
在我看来:
//THIS WORKS. It gives me a count of all open and closed tickets
{{$tickets->where('status', '=', 'OPEN')->Count()}}
{{$tickets->where('status', '=', 'CLOSED')->Count()}}
然而这不起作用......
错误:调用成员函数where()on string(View:...
@foreach ($tickets as $ts)
{{$ts->subject->where('status', '=', 'OPEN')}}
@endforeach
@foreach ($tickets as $ts)
{{$ts->subject->where('status', '=', 'CLOSED')}}
@endforeach
有没有办法使用那个ONE主查询并显示打开和关闭的故障单的所有主题,还是需要在我的控制器中编写多个查询来实现这一目标?
答案 0 :(得分:4)
你可以用简单的解决方案做到这一点。 首先用if语句写一个然后再写一个
@foreach ($tickets as $ts)
@if($ts->status == 'OPEN')
{{$ts->subject}}
@endif
@endforeach
@foreach ($tickets as $ts)
@if($ts->status == 'CLOSED')
{{ $ts->subject }}
@endif
@endforeach