Laravelのクエリについてです。dbからデータを取得したい。以下のコードを使用しましたが、
$ids = [1, 2, 3, 4, 5]
$stock = $item->stocks->whereIn('paperorder_paper_id', $ids)->where('status', 'qc-pass')->get();
単純化すると、私の問題は、id no 1にレコードがある場合、その値を表示する必要があります。そうでない場合は、ゼロ (「0」) を表示する必要があります。dataableにデータを入れたいからです。画像をご覧ください。次に、私の問題が何であるかを明確に理解してください。
期待される:
問題と私は結果を得ました
株データベース
Id Value
1
2 120
3 50
4
5 1000
以下は、ブレードファイルに私の実際のコードがあります。しかし、実際のコードを使用して説明するのは複雑です。この問題を解決するのを手伝ってください。
<td class="border-t border-gray-200 border-dashed">
@php
$paperorderids = [];
$paperorder = $item->paperorders->where('paperorder_id', $item->id);
foreach ($paperorder as $key => $value) {
$paperorderids[] = $value->id;
}
// Output: $ids = [1, 2, 3, 4, 5]
$stock = $item->stocks->whereIn('paperorder_papers_id', $paperorderids)->where('status', 'qc-pass');
// Output: 2 arrays only becasue others id has not record thats why I want zero for that.
foreach ($stock as $key => $val) {
echo $val->qty ? $val->qty : 0;
}
//
@endphp
{{-- @foreach ($item->paperorders as $paperorder)
@foreach ($item->stocks as $stock)
@if ($paperorder->id == $stock->paperorder_papers_id && $stock->status === 'qc-pass')
<span class="flex items-center px-6 py-0 text-gray-700">
{{ $stock->qty }}
</span>
@else
<span class="flex items-center px-6 py-0 text-gray-700">
0
</span>
@endif
@endforeach
@endforeach --}}
</td>