我不知道为什么我不能让这个条件起作用。首先,我会告诉你可以预约桌子。
@foreach( $w1ProductHistory as $w1ph )
@php
$totalCost = $w1ph->orderItem->cost * $w1ph->stock_in_qty;
@endphp
@if($w1ph->stock_in_qty!='0' && $w1ph->delivery_note!='')
<tr>
<td>{{$w1ph->orderItem->product_code}}</td>
<td>{{$w1ph->orderItem->product_name}}</td>
<td><a href="{{ URL('/orders/'.$w1ph->order->id)}}" class="text-info">{{$w1ph->order->purchase_no}}</a></td>
<td>{{$w1ph->delivery_date}}</td>
<td>{{$w1ph->companies->comp_name}}</td>
<td>{{$w1ph->orderItem->cost}}</td>
<td>{{$w1ph->stock_in_qty}}</td>
<td>{{number_format($totalCost)}}</td>
<td>
@if(isset($w1ph->delivery_note))
<a data-placement="left" data-toggle="tooltip" title="Delivery Notes: {{$w1ph->delivery_note}}" href="{{-- {{ route('orders.edit',$order->id) }} --}}" class="btn btn-sm btn-icon btn-default"><i class="fab fa-readme"></i></a>
@endif
</td>
</tr>
@endif
@endforeach
我想要做的是隐藏,如果只有$ w1ph-> stock_in_qty!='0和$ w1ph-> delivery_note!=''。
如果$ w1ph-> stock_in_qty!='0但$ w1ph-> delivery_note!=''有值,则应显示该行。
我已经尝试过@if($w1ph->stock_in_qty!='0' && $w1ph->delivery_note!='')
,@if($w1ph->stock_in_qty!='0' && !empty($w1ph->delivery_note))
甚至改变了“&&”和。即使只满足一个条件,它仍会隐藏行。
同样,我试图隐藏行只有当两个条件都不满足其中任何一个时。我怎样才能实现它?提前致谢!
在刀片文件中使用@php标签是完全合法的代码,但您可能会考虑是否真的需要这样做。
为什么?因为它使您的刀片文件更清晰,并且您应该努力保持刀片文件没有任何其他逻辑,而不是获取属性/关系。此外,如果您需要在应用程序的其他位置进行计算,您可以在模型上进行计算,如果值后面的算法发生变化,您只需将其更改为一个位置即可。
在我看来,更好的解决方案是在您的产品历史(?)模型中定义一个属性,该属性为您提供此值,只需执行$ w1ph-> totalCost;
另外我会添加一个返回布尔值的属性,根据你需要在表中显示这个项目,比如$ w1ph-> showInTable / visible / showDisplay等。
你试过没有0左右的引号吗?或计数($ w1ph - > stock_in_qty)== 0)?
我想你尝试过类似的东西
@if(count($w1ph->stock_in_qty)>0)&& (count($w1ph->delivery_note)>0))
@endif