を置き換える:がarrayからプロパティを取得し、私はこの配列を持つ
object(stdClass)#458 (2) {
["1"]=>
object(stdClass)#456 (3) {
["title"]=>
string(3) "Test Product 1"
["quantity"]=>
int(1)
["price"]=>
int(1221)
}
["shipping"]=>
object(stdClass)#457 (3) {
["quantity"]=>
int(1)
["title"]=>
string(13) "Free Delivery"
["price"]=>
int(0)
}
}
私はこのようなページでこれを表示しています。
@foreach($order->getOrderData($order->order_details) as $itemId =>
<?php $total += ($item->price * $item->quantity); ?>
<h4 class="media-heading">{{ $item->title }}</h4>
{{ $item->quantity }}
${{ $item->price * $item->quantity }}/€{{ $order['total_eur'] }}
@endforeach
これまでのところ、すべて私がデータベース$order['total_eur']
から呼び出した加算値を除いて完璧に機能します。この値は注文が行われたときに保存されるので、合計額を米ドルに、合計をEURで表示します。
ここでの問題は、${{ $item->price * $item->quantity }}
も含まれています。配送は無料です。 $ 0はページに表示されます
Test Product 1 $122/€113
Free Delivery $0/€113
私がしようとしているのは、配信が無料のときに何とか置き換えることです。代わりに0
と表示する["shipping"]=>["price"] = 0
このようにする:
Test Product 1 $122/€113
Free Delivery $0/€0
私はforeach
ループでそれを変更することができますどのように私はこの
<?php $shipping = $order->getOrderData($order->order_details)->shipping->price; ?>
のようにアクセスすることができますしかし、私はそれを考え出したことはできません。
私はこれを明確に理解していただきたいと思います。誰でも働くかもしれない何かを提案できますか?
更新:foreachの内部が、それでもここで、我々はそれが項目を出荷され、価格はゼロに設定されているかどうか、配列を確認している両方の
${{ $item->price * $item->quantity }}
@if(! $order->getOrderData($order->order_details)->shipping)
{{ $order->getOrderData($order->order_details)->shipping->price }}
@else
€{{ $order['total_eur'] }}
@endif
非常に混乱しますか? foreachループの中で簡単なのでしょうか? –
@SaravananSampathkumar、私は試みたif条件で私の質問を更新しました –
いいえ、価格がゼロの場合、@if($ item-> price)のようにチェックし、それ以外の場合は通常のものです。 –