doushan9415
2016-12-30 00:54
浏览 185
已采纳

如何解决错误:在laravel 5.3中调用未定义的函数App \ Http \ Controllers \ JSON_EXTRACT()?

For example, I have a column named json in table A

Json column contains json data like this :

record 1 : {"dept_code": "012", "unit_code": "22"}
record 2 : {"dept_code": "013", "unit_code": "23"}
etc

I want to take the data records with json column that contain dept_code = 012

I try like this :

$id = "012";
$data = \DB::table('table_A')
           ->select('*')
           ->where(JSON_EXTRACT('json', "$.dept_code"), '=', '"'.$id.'"')
           ->get();

There exist error like this :

Call to undefined function App\Http\Controllers\JSON_EXTRACT()

How can I resolve that?

图片转代码服务由CSDN问答提供 功能建议

例如,我在表A中有一个名为json的列

Json column包含这样的json数据:

  record 1:{“dept_code”:“012”,“unit_code”:“22”} 
record 2:{“dept_code”:  “013”,“unit_code”:“23”} 
etc 
   
 
 

我想用包含dept_code = 012的json列获取数据记录

我尝试这样:

  $ id =“012”; 
 $ data = \ DB :: table('table_A')
  - >选择('*')
  - >其中(JSON_EXTRACT('json',“$ .dept_code”),'=','“'。$ id。'”')
  - > get  (); 
   
 
 

存在如下错误:

调用未定义的函数App \ Http \ Controllers \ JSON_EXTRACT()

我该如何解决?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongxi7704 2016-12-30 01:12
    已采纳

    You can use laravel's JSON where clauses. E.g.

    $id = "012";
    $data = DB::table('table_A')
               ->where('json->dept_code', $id)
               ->get();
    

    This works in Postgres and MySQL(since 5.7.8)

    Query Builder Where Clauses

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题