【发布时间】:2019-11-05 11:04:46
【问题描述】:
我创建了自定义属性,这样我就可以在刀片文件中直接访问它们并且效果很好,但是在我的数据库中进行测试期间,它会给出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,room_name,room_code,@987654328 @、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 字段中。有人可以帮我解决这个问题吗?
【问题讨论】:
-
分享您尝试插入和更新问题的位置
-
@spartyboy 请查看更新。
-
尝试这样做:
$rtn = $this->roomList->create([ 'room_name' => $data['room_name'], 'room_code' => $data['room_code'] ]); -
@MED 不幸的是,它仍然是同样的错误。
标签: laravel-5 eloquent custom-attributes