由于5.0.18+更具嚴謹性,如果數組查詢條件中使用了exp查詢,必須做出如下調整:
~~~
// 錯誤
$where['id'] = ['exp', '>score'];
$model->where($where)->find();
// 正確
$where['id'] = ['exp', Db::raw('>score')];
$model->where($where)->find();
// 正確 推薦寫法
$model->whereExp('id', '>score')->find();
~~~
如果需要使用exp表達式更新數據,必須使用Db::raw()方法或者exp方法。下面用法不再支持:
~~~
// 錯誤 不再支持
$data['score'] = ['exp', 'score+1'];
$model->where('id', 1)->update($data);
// 正確
$data['score'] = Db::raw('score+1');
$model->where('id', 1)->update($data);
// 正確 推薦用法
$model->where('id', 1)->exp('score', 'score+1')->update();
~~~
- 目錄
- 5.0.10環境配置
- 5.0.10控制器模型對象
- 5.0.10模型初始化
- 5.0.10定義數據對象
- 5.0.10創建數據對象data()方法
- 5.0.10創建數據對象-setAttr方法
- 5.0.10創建數據對象__set()方法
- 5.0.10查詢數據對象getData()
- 實例
- 5.0.10保存數據save()方法
- 5.0.10保存數據saveAll()
- 5.0.10更新數據save()
- 5.0.10批量更新數據saveAll()
- 5.0.10刪除數據delete()
- 5.0.10刪除數據destroy()
- 5.0.10traits詳解
- ThinkPHP 5.0 速查表
- 注釋
- 環境變量配置
- Model分層
- MVC 邏輯服務數據
- Model分層及多對多關聯的建立
- 控制器調用邏輯層
- Session
- 子域名session共享
- 系統錯誤
- 版本錯誤
- 返回錯誤
- Token令牌及身份識別
- 關聯查詢
- 安裝
- Git安裝
- Composer
- 擴展
- Composer類
- 非Composer類
- 引用第三方庫
- 自定義命令行
- 計劃任務
- 調試
- 調試模式
- 監聽SQL
- 數據庫調試
- 單元測試
- 初始化
- 控制器初始化
- 模型初始化
- 數據緩存
- 實戰
- 版本升級
- 從V5.0.17升級到V5.0.18