Laravel集合不包含
问题描述:
我有一个幼虫集合,我试图让它显示不包含值的结果。Laravel集合不包含
我知道$ data-> contains(key,value),它基本上需要与此相反。我正在尝试在刀片模板中执行此操作,代码如此;如预期
@if(!$orders->contains('order_status', 'Complete'))
和
@if($orders->contains('order_status', 'Complete') === false)
但既不工程。
任何想法或替代方法(如果可能,想尝试并保留刀片中的逻辑)?
感谢
从集合
array(2) {
[0]=>
array(26) {
["id"]=>
int(1)
["user_id"]=>
int(3)
["cv"]=>
int(0)
["cv_details"]=>
NULL
["cl"]=>
int(1)
["cl_details"]=>
string(0) ""
["ja"]=>
int(1)
["ja_details"]=>
string(0) ""
["order_status"]=>
string(13) "PreAuthorized"
["advisor_id"]=>
NULL
["created_at"]=>
string(19) "2017-07-18 10:38:06"
["updated_at"]=>
string(19) "2017-07-18 10:38:22"
["preAuthId"]=>
string(8) "29506753"
["days"]=>
int(3)
["customer_value"]=>
int(86)
["due"]=>
string(19) "2017-07-21 10:38:22"
["ck_fee"]=>
float(25.65)
["cv_company"]=>
NULL
["cv_role"]=>
NULL
["cl_company"]=>
string(0) ""
["cl_role"]=>
string(0) ""
["ja_company"]=>
string(0) ""
["ja_role"]=>
string(0) ""
["cv_sector"]=>
string(2) "IT"
["cl_sector"]=>
string(2) "IT"
["ja_sector"]=>
string(2) "IT"
}
更多的代码的项目的var_dump;
@if($orders->contains('order_status', 'Complete'))
<h4>Completed orders</h4>
<table class="table table-hover">
<thead>
<tr>
<th>Order #</th>
<th>Cost</th>
<th>Completed On</th>
<th>View Files</th>
</tr>
</thead>
<tbody>
@foreach($orders as $order)
@if($order->order_status == 'Complete')
<tr>
<td>{{ $order->id }}</td>
<td>£ {{ $order->customer_value }}</td>
<td>{{ $order->updated_at }}</td>
<td><a href="/view-order/{{ $order->id }}">View Files</a></td>
</tr>
@endif
@endforeach
</tbody>
</table>
</tbody>
</table>
@endif
@if(!$orders->contains('order_status', 'Complete'))
<h4>Orders in progress</h4>
<table class="table table-hover">
<thead>
<tr>
<th>Order #</th>
<th>Placed on</th>
<th>Due by</th>
<th>Cost</th>
<th>Status</th>
</tr>
</thead>
<tbody>
@foreach($orders as $order)
@if($order->order_status !== 'Complete')
<tr>
<td>{{ $order->id }}</td>
<td>{{ $order->created_at }}</td>
<td>{{ $order->due }}</td>
<td>£ {{ $order->customer_value }}</td>
<td>{{ $order->order_status }}</td>
</tr>
@endif
@endforeach
</tbody>
</table>
@endif
答
原来,这只是一个逻辑错误as discussed in chat。
@if(!$orders->contains('order_status', 'Complete'))
这是说,只显示表时,其中没有订单与order_status
“完成”,而不是预期的“表演这个,如果有任何的订单是不是‘完成’”。
你的收藏是什么样的?这是正确回答这个问题的关键,因为'contains'的工作原理。 – Samsquanch
@Samsquanch我怎么能张贴集合,而不是它很大? var_dump好吗? – Ash
'var_dump($ collection-> toArray())'输出只有几个项目。 – Samsquanch