亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在laravel 5.7中獲取json值?

如何在laravel 5.7中獲取json值?

PHP
HUWWW 2021-05-13 18:15:30
我在數據庫中有兩個表,package并且categories。package有一個字段category_id,其中包含此格式的數據并以復選框的形式["1","11"]顯示categories數據。現在,我想從所有的數據package在那里category_id等于categories id。這是我的代碼:public function archive_packages(Request $request, $slug){    $title='Archive Packages';    $para='';    $slugs='archive-packages';    $categoryRow = Category::where('slug',$slug)->first();    $categoryID = $categoryRow->id;    $package = Packages::whereRaw('JSON_CONTAINS(category_id, \'["11"]\')')->get();    dd($package);    return view('pages.archive-packages',compact('title','para','slugs','package'));}我收到以下錯誤:SQLSTATE [42000]:語法錯誤或訪問沖突:1305 FUNCTIONpre.JSON_CONTAINS不存在(SQL:從“ packages”中選擇*,其中JSON_CONTAINS(category_id,'[“ 11”]'))
查看完整描述

3 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

有一個laravel方法可以做到這一點,更多細節在這里

因此,請嘗試:

Packages::whereJsonContains('category_id', '11')->get();

如果您的mysql版本不支持json_contains并且無法升級,請嘗試以下查詢:

Packages::where('category_id', 'like', '%"11"%');


查看完整回答
反對 回復 2021-05-28
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

PHP具有內置方法json_encode(),可輕松將數組編碼為JSON字符串格式。我們可以將其實現為:我們也可以在laravel中使用它

$ array = array('筆記本電腦','耳機','鼠標'); 返回json_encode($ array);

但是,較新版本的Laravel也有自己的json()方法,該方法會自動設置相關的Content-Type并編碼JSON數據:

$ array = array('筆記本電腦','耳機','鼠標'); 返回response()-> json($ array);


查看完整回答
反對 回復 2021-05-28
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

JSON示例:


[{“ id”:11,“ first_name”:“ Anthony”,“ last_name”:“ Ross”,“ language”:“ english”,“ grade”:1}]


如果您在json中有多個值,則可以嘗試執行類似的循環,


foreach($target as $target_result){

  echo $target_result->id;

}

如果您只有一條記錄,請嘗試,


$target = Var::where('first_name', '=', $request->input('jsonArr'))->first();

return $jsonArr->id


查看完整回答
反對 回復 2021-05-28
  • 3 回答
  • 0 關注
  • 367 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號