数据库
注意事项
6.0框架的ORM库基于官方的独立think-orm库,该类库基于PHP7.1+,并且内置支持包括MySQL、Sqlite、Pgsql、Sqlsrv、Oracle以及MongoDb驱动。所以,必要的时候你需要单独更新think-orm库而不是仅仅更新核心框架。
对结果数据随机排序
php
->orderRaw('rand()')order对json排序
php
->orderRaw('extend_data->>"$.hscode" ASC')- MySQL JSON 提取方式
extend_data->>"$.hscode"(推荐)->>是 MySQL 的 JSON 解引用运算符,自动去除引号(适用于字符串或数字)。
JSON_UNQUOTE(JSON_EXTRACT(extend_data, "$.hscode"))(等效写法)- 如果
->>不支持,可以用这个替代。
- 如果
获取json字段数据
php
->field("attribute->>'$.weight' as weight")对json字段进行whereIn筛选
php
// 对json字段进行whereIn筛选
$warehouse_id = 4;
->whereRaw("JSON_CONTAINS(cr.warehouse, '$warehouse_id')");
// warehouse字段,内容如:[4], [4,7], [7]
// 对json字段下的字段进行whereIn筛选
$product_sku_id = 1;
->whereRaw("JSON_CONTAINS(extend_data->'$.sku_list', '$product_sku_id')")
// sku_list,内容如:[1], [1,3], [5]