Я создал пользовательские атрибуты, чтобы я мог напрямую обращаться к ним в моем блейд-файле, и он хорошо работает, но во время моего тестирования в моей базе данных именно он выдает ошибку QLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list'
. Вот что я сделал, вставив пользовательские атрибуты в мою модель:
protected $fillable = [
'room_name',
'room_code',
];
protected $dates = [
'created_at',
'updated_at'
];
protected $attributes = ['room_total_booking', 'room_complete_booking'];
public function getRoomTotalBookingAttribute($id){
return \App\Models\Guest\BookingDetail::where('room_list_id', $id)->count();
}
public function getRoomCompleteBookingAttribute($id){
return \App\Models\Guest\BookingDetail::where('room_list_id', $id)->whereReservationStatus(1)->count();
}
Но когда я закомментирую атрибуты, это работает хорошо. Вот полная ошибка:
SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец «0» в «списке полей» (SQL: вставить в room_lists
(0
, * 1010)*, room_name
, room_code
, updated_at
, created_at
) значения (room_total_booking, room_complete_booking, Test2, Test101, 2019-11-05 11:00:16, 2019-11-05 11:00:16))
СОХРАНЕНИЕ В БД
$room = [];
$room['room_name'] = $data['room_name'];
$room['room_code'] = $data['room_code'];
$rtn = $this->roomList->create($room);
Если вы видите это, мои объявленные пользовательские атрибуты находятся в полях value
. Может кто-нибудь помочь мне разобраться?