请修复尝试获取非对象属性的错误

这是代码,它显示“试图获取非对象的属性'价格'。请帮助我解决此问题。$ 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
lovedanjun 回答:请修复尝试获取非对象属性的错误

使用三元运算符来检查您的值是否已设置。

<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>
本文链接:https://www.f2er.com/3154969.html

大家都在问