Я делаю систему бронирования, это таблица, которую я сейчас использую. Я не могу получить значение внешнего ключа платежа клиента.Я уже положил отношения в моделях.
Бронирование
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class booking extends Model
{
protected $fillable = ['clientID', 'checkInDate', 'checkOutDate', 'roomsCount', 'roomTypeID', 'adultsCount', 'childrenCount', 'amenityID', 'paymentID'];
public function client()
{
return $this->belongsTo('App\Client','clientID');
}
public function payment()
{
return $this->hasOne('App\Payment');
}
public function amenities()
{
return $this->hasOne('App\Amenities');
}
Клиент
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class client extends Model
{
protected $fillable = ['fullNmae', 'firstName', 'lastName', 'phoneNumber', 'emailAddress'];
public function booking()
{
return $this->hasMany('App\Booking');
}
}
Платеж
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class payment extends Model
{
protected $fillable = ['clientID', 'paymentMethod', 'invoiceNum', 'accountName', 'amountPaid', 'datePaid', 'payment_image', 'comments'];
public function booking()
{
return $this->belongsTo('App\Booking');
}
}
В настоящее время я использую это для доступа к внешнему ключу
$bookingDetail = booking::with('client', 'payment')->get();
return view('detail')
->with('bookingDetail', $bookingDetail);
view
{{ $bookingDetail->payment->paymentMethod }}
Ошибка, которую я получаю
SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец «clients.id» в «предложении where» (SQL: выберите * из clients
где clients
. id
in (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17))
Это правильный способ сделать это?или я что-то упустил.Я новичок в Laravel, поэтому я не знаю, является ли это правильным способом сделать это