这是代码,它显示“试图获取非对象的属性'价格'。请帮助我解决此问题。$ doc中有数据,并且它不是空的。
@foreach ($reports as $report)
<tr>
<td>{{ $report->room_no }}</a>
</td>
<td>{{ $report->room_type }}</td>
@if($report->book_date== null || ($report->book_date != null && ($report->release_date != null && $report->release_date
< date( 'Y-m-d')))) <td class="text-danger"><strong>Vacant</strong></td>
<td>{{ $report->price }}</td>
<td>---</td>
<td></td>
@endif
@if($report->book_date != null && ( $report->release_date ==null || $report->release_date >= date('Y-m-d')))
@php
$doc = DB::table('gen_resident_room')->Join('sales_pipeline', 'gen_resident_room.person_id', '=', 'sales_pipeline.id')->where([['room_id',$report->room_id]])->first();
if(isset($doc->pros_name)){
$n = explode (",",$doc->pros_name);
}
@endphp
@if(isset($doc) && isset($doc->stage) && $doc->stage === "MoveIn")
<td class="text-success"><b>Occupied</b></td>
@else
<td class="text-success"><b>Booked</b></td>
@endif
<td>{{ $report->price }}</td>
<td>{{ $doc->price }}</td>
<td>{{ $n[0] }} {{ $n[1] }} {{ $n[2] }}</td>
@endif
</tr>
@endforeach
答案 0 :(得分:1)
使用三元运算符来检查您的值是否已设置。
<td>{{ $report->price ?? '0' }}</td>
<td>{{ $doc->price ?? '0' }}</td>
或者您也可以检查!empty
的状况。
<td>{{ (!empty($report->price) && is_numeric($report->price)) ? $report->price:'0' }}</td>
<td>{{ (!empty($doc->price) && is_numeric($doc->price)) ? $doc->price:'0' }}</td>