Я пытаюсь, чтобы кнопка сотрудника показывала текст «Уже зарезервировано», если переменная count ($ bookingRequests) возвращает что-то, и если ничего не отображается, то отображается «Забронируйте меня»
Я получаю ошибку выше.
У меня есть следующие модели и их отношения:
User.php и Bookings.php
Пользователь:
public function bookings() {
return $this->hasMany('App\Models\Bookings');
}
public function BookingRequest()
{
$this->bookings()->where('booking_status','=','confirmed')->get();
}
Заказы:
public function user(){
return $this->belongsTo('App\Models\User');
}
Упомянутое выше представление является Employeeblock.blade.php:
<div class="row no-gutters mb-5 mb-lg-0" style="padding:10px">
@if(count($bookingRequests))
<a href="#" class="btn btn-primary" data-
toggle="modal" data-target=“#bookingModal">Already Booked</a>
@else
<a href="#" class="btn btn-primary" data-
toggle="modal" data-target="#bookingModal">Book Me</a>
@endif
</div>
, в котором данные передаются на него контроллером SearchController:
следующим образом:
<?php
namespace App\Http\Controllers;
use DB;
use Auth;
use App\Models\Employee;
use App\Models\User;
use App\Models\Bookings;
use Illuminate\Http\Request;
use GuzzleHttp\Client;
use Session;
.
.
.
$bookingRequests=Auth::user()->BookingRequest()->get();
return view(‘search.results’)
->with('bookingRequests',$bookingRequests)
Results.blade.php выше имеет следующий HTML:
<div class="panel panel-default">
<div class="panel-heading"><h3></h3></div>
<div class="panel-body">
<div class="row">
<div class="col-lg-12">
@foreach($Employees as $Employee)
@include('user/partials/employeeblock')
@endforeach
</div>
</div>
</div>
</div>
</div>