【发布时间】:2021-01-26 19:10:48
【问题描述】:
我正在尝试使用 laravel 控制器访问 json 列中的特定数据,DB 列称为“figuresinorder”。我想访问“wants”键,但是当存储了多个值时它不起作用。
{"wants": ["1"], "trades": ["12,33,234"]} - 这行得通
{"wants": ["1,2,3"], "trades": ["12,33,234"]} - 不起作用
控制器中查询如下:
$figures2 = customtrades::whereJsonContains('figuresinorder->wants', ['1'])->get();
任何帮助都会得到很大的帮助,我被困在这上面的时间比我敢承认的要长。
【问题讨论】:
-
将是
{"wants": ["1","2","3"], "trades": ["12,33,234"]} -
失眠症22。如果源是 ["1,2,3"],您确定搜索 ["1"] 会返回 TRUE。我想如果你搜索 ["1,2,3"] 会起作用。
-
["1,2,3"] 是数组有一个字符串,你的问题是存储数据。应该是:["1", "2", "3"]
-
Sta - 数据由 laravel 直接以该格式存储,我尝试使用您建议的格式,但这仍然没有返回所需的数据。工具箱 - 当查询有效时,确实会正确返回集合而不是 TRUE 语句。我需要能够直接搜索单个数字 id 而不是整个数组。