Skip to content

数据库

注意事项

6.0框架的ORM库基于官方的独立think-orm库,该类库基于PHP7.1+,并且内置支持包括MySQLSqlitePgsqlSqlsrvOracle以及MongoDb驱动。所以,必要的时候你需要单独更新think-orm库而不是仅仅更新核心框架。

对结果数据随机排序

php
->orderRaw('rand()')

order对json排序

php
->orderRaw('extend_data->>"$.hscode" ASC')
  1. 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]
最近更新