如果另一列不是特定单词,则laravel get Elount为特定列返回null

如果另一列不是特定单词,则laravel get Elount为特定列返回null,laravel,Laravel,我有这样的疑问: Order::where('order_id', 2) ->leftJoin('test', 'test.order_id', '=', 'orders.order_id') ->get(['order.status, 'order.path', 'test.name']); 现在,我想实现以下目标。在get子句中,获取特定列时,如果'order.status'未COMPLETED,则将'order.path'返回为null,如果'order.sta

我有这样的疑问:

 Order::where('order_id', 2)
   ->leftJoin('test', 'test.order_id', '=', 'orders.order_id')
   ->get(['order.status, 'order.path', 'test.name']);

现在,我想实现以下目标。在
get
子句中,获取特定列时,如果
'order.status'
COMPLETED
,则将
'order.path'返回为null
,如果
'order.status'
已完成,则返回实际的
顺序。path
您应该尝试循环结果,然后根据需要应用更改

$orders = Order::where('order_id', 2)
->leftJoin('test', 'test.order_id', '=', 'orders.order_id')
->get(['order.status, 'order.path', 'test.name']);

for($i = 0; i < orders.lenght();i++){
  if(orders[i].status != 'COMPLETED'){
    orders[i].path = null;
  }
}
$orders=Order::where('Order\u id',2)
->leftJoin('test','test.order_id','=','orders.order_id'))
->get(['order.status','order.path','test.name']);
对于($i=0;i