為什么寫入數據的時候不會自動去除數據庫沒有的字段?
ThinkPHP一直以來都支持自動去除數據庫沒有的字段,5.0版本出于更加嚴謹的考慮,默認情況下當寫入數據庫不存在的字段的時候會拋出字段不存在的異常,有兩種方法可以避免異常。
第一種,在數據庫配置文件或者傳入connect方法的連接參數中設置關閉嚴格檢查:
// 關閉嚴格檢查字段是否存在
'fields_strict' => false,
這種方式全局有效。
第二種,在查詢的時候使用strict方法指定是否進行嚴格檢測字段
// 使用strict方法關閉字段嚴格檢測
Db::name('user')->strict(false)->insert($data);