第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

有沒有辦法循環(huán)遍歷表中 json 列中的嵌套對象并使用 Laravel 中的查詢構(gòu)建器檢查條件?

有沒有辦法循環(huán)遍歷表中 json 列中的嵌套對象并使用 Laravel 中的查詢構(gòu)建器檢查條件?

PHP
慕容3067478 2021-12-03 10:37:04
我有events帶有 json 列的表guests。guests字段的數(shù)據(jù)如下所示:{"lines":   [{"men":1,     "women":1,     "children":1,     "language_id":291,     "language_name":"test",   }],   [{"men":1,     "women":1,     "children":1,     "language_id":292,     "language_name":"test2",   }], "totalMen":2, "totalWomen":2, "totalChildren":2, "total":6,}我需要使用特定的 language_id 在控制器中獲取事件。但是字段guests內(nèi)部可以有多個(gè)數(shù)組lines,所以我需要以某種方式檢查特定語言 ID 的所有行。現(xiàn)在我這樣做:$language = Language::findOrFail($lid);$events = Event::get();foreach($events as $event) {    foreach($event['guests']['lines'] as $line){        if($line['language_id'] === $language->id) {            // do smth            break;        }    }}有沒有辦法根據(jù)我的條件在 laravel 中使用查詢構(gòu)建器獲取事件,所以我不需要先獲取所有事件,然后再過濾它們?
查看完整描述

2 回答

?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以使用內(nèi)置的 Laravel JSON Where Clauses。我認(rèn)為通過一些播放和一些調(diào)試,您可以實(shí)現(xiàn)您需要做的事情。

這是使用您的 JSON 架構(gòu)的示例:

$events = DB::table('events')
                ->where('guests->lines->language_id',  $language->id)
                ->get();


查看完整回答
反對 回復(fù) 2021-12-03
?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊

您可以使用 JSON_EXTRACT mysql 函數(shù)。


請關(guān)注這篇文章了解更多詳情。 https://database.guide/json_extract-return-data-from-a-json-document-in-mysql/


我正在用核心 PHP 編寫。請相應(yīng)地定制。


$sql =  "SELECT JSON_EXTRACT(guests, '$.lines') as guest FROM `t1`";


$result = mysqli_query($conn, $sql);


if (mysqli_num_rows($result) > 0) {

    // output data of each row

    while($row = mysqli_fetch_assoc($result)) {

        $json_array = json_decode($row['guest']);

        foreach($json_array as $line) {

            echo "<br>";

            print_r($line->men);

        }

    }

}


查看完整回答
反對 回復(fù) 2021-12-03
  • 2 回答
  • 0 關(guān)注
  • 181 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號