我如何检查是否存在变量 laravel?

how can i check there is an variable laravel?

我认为我试图通过 $reservations 当数据库中有一些保留时没有错误但是当它为空时我得到错误

Undefined variable: reservations (View: C:\Users\yass\Desktop\E-tourisme-44\E-tourisme-5554\resources\views\moderateur\reservation.blade.php)

模板

<tbody>
                        @if($reservations )

                        @foreach($reservations as $reservation)

                            <tr>      
                                <td> {{$reservation->children}} </td>
                                <td> {{$reservation->checkin}} </td>
                                <td> {{$reservation->checkout}} </td>
                                <td>

                        @endforeach
                       @else
                                    <div>
                                       No Data
                                    </div>
                            @endif

                        </tbody>

这是我的职能

public function index()
{
    $myhotels = hotel::where('created_by', Auth::user()->id)->first();
    if ($myhotels) {
        $reservations = Reservation::where('hotel_id', $myhotels->id)->get();
        return view('moderateur/reservation', compact('reservations'));
    }
    return view('moderateur/reservation');
}

要使您的代码正常工作,

@if($reservations )

使用

@if(! empty($reservations))

此外,将 @if@foreach 结合使用以显示 "no data",考虑改用 @forelse @empty。文档:https://laravel.com/docs/7.x/blade#loops

试试:

@if(isset($reservations))

您可以使用

@isset($reservations)
  //your code
@endisset

或者你可以这样写你的代码

{{ $reservations ?? null }}