为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 查询生成器:如何访问 JSON 键/值对

Laravel 查询生成器:如何访问 JSON 键/值对

PHP
元芳怎么了 2023-10-15 14:55:42
使用Laravel 5.1,如何在迁移中通过查询生成器访问 JSON 键/值对?json_data_column中存储有 JSON 数据,我需要在where()查询生成器表达式中对其进行验证。逻辑是这样的:DB::transaction(function () { echo 'Deleting rows where user_id is empty...' . PHP_EOL; DB::table('payment_methods')->where('json_data_column->user_id', '""')->delete();});然而,链接在这里似乎不起作用。事实上,输出是:  [Illuminate\Database\QueryException]                                                            SQLSTATE[42703]: Undefined column: 7 ERROR:  column "user_id" does not exist             LINE 1: ... "payment_methods" where "json_data_column"->user_id...                                                                                   ^ (SQL: delete from "payment_me    thods" where "payment_platform_data"->user_id = "") 在这种情况下,是否可以使用上面的逻辑来使用链接?如果没有,我如何访问 JSON 字段?
查看完整描述

1 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

您需要放入user_id单引号,否则它会被视为标识符:

 DB::table('payment_methods')->where("json_data_column->>'user_id'", '')->delete();


查看完整回答
反对 回复 2023-10-15
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信