从数据库测试JSON数据并获取列

时间:2019-04-10 12:04:48

标签: php laravel

我的数据库中有一列存储json,我想恢复json中某个对象的值以对其进行测试

所以我的“ JSON”列包含了

{
"type":"index",
"data ":{"index":2}
}

如果我收到2,则需要获取包含索引2的列以将其删除 我已经尝试过了:



$column = Table::where('JSON["data"]["index"]','=', '2' )
                ->first();
 Table::dropColumn($column);


但是它不起作用,因为我无法获取索引

3 个答案:

答案 0 :(得分:2)

如果您使用的是最新的laravel版本,

$column = Table::where('JSON->data->index','2')->first();

应该工作。

您可以参考laravel的官方文档json where条款here

答案 1 :(得分:0)

仅使用SQL Like

/bin/sh -c ASPNETCORE_URLS\=http://\*:\26871\ dotnet\ sitehidamek.dll

答案 2 :(得分:0)

   Since you gave JSON value as a string, it was unable to get the index value.                                                                                  
   Can you please try like below,                                        
       $column = Table::whereRaw(JSON["data"]["index"], '=', '2' )
                 ->first();                       
                 Table::dropColumn($column);