使用Laravel 5.1,如何在遷移中通過查詢生成器訪問 JSON 鍵/值對?json_data_column中存儲有 JSON 數(shù)據(jù),我需要在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條經(jīng)驗 獲得超3個贊
您需要放入user_id
單引號,否則它會被視為標識符:
DB::table('payment_methods')->where("json_data_column->>'user_id'", '')->delete();
- 1 回答
- 0 關注
- 129 瀏覽
添加回答
舉報
0/150
提交
取消