我已经创建了自定义属性,以便可以直接在刀片文件中访问它们,并且效果很好,但是在我的数据库中进行测试时,它会产生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
,1
,{{1} },room_name
,room_code
,updated_at
)值(room_total_booking,room_complete_booking,Test2,Test101、2019-11-05 11:00:16、2019-11-05 11:00: 16))
保存到数据库
created_at
如果可以看到,我声明的自定义属性位于 $room = [];
$room['room_name'] = $data['room_name'];
$room['room_code'] = $data['room_code'];
$rtn = $this->roomList->create($room);
字段中。有人可以帮我解决这个问题吗?