sql >> データベース >  >> RDS >> Mysql

PHPの2つのmysqlテーブルからのJson

    非常に多くのクエリを使用しています。単一のクエリでそれを実行してみませんか?

    SELECT * FROM `Restaurants` `r`
        LEFT JOIN `Dishes` `d` ON (`r`.`id` = `d`.`f_id`)
    ORDER BY `r`.`id` ASC 
    

    次に、その結​​果を使用してJSONオブジェクトを作成します。

    編集 結果の反復を簡単にするために、クエリを次のように少し変更しました。

    SELECT 
    `r`.`id` as `restaurantId`, 
    `r`.`name`, 
    `r`.`info`, 
    `d`.`id` AS `dishId`,
    `d`.`dish`,
    `d`.`description`
    FROM `restaurants` `r`
        LEFT JOIN `dishes` `d` ON (`r`.`id` = `d`.`f_id`)
    ORDER BY `r`.`id` ASC
    

    結果は次のようになります: restaurantId、name、info、dishId、dish、description

    これで、次のように結果を繰り返すことができます。

    $jsonArray = array();
    
    foreach ($record as $dishDetails){
        // details of the restaurant
        $jsonArray[$dishDetails['f_id']]['name'] = $dishDetails['name'];
        $jsonArray[$dishDetails['f_id']]['info'] = $dishDetails['info'];
    
        // build the dishes of the restaurant
        $jsonArray[$dishDetails['f_id']]['dishes'][$dishDetails['dishId']]['dish'] = $dishDetails['dish']
        $jsonArray[$dishDetails['f_id']]['dishes'][$dishDetails['dishId']]['description'] = $dishDetails['description']
    }
    


    1. Pythonエンコーディングのmysql

    2. SQLServerテーブルにデータを挿入するさまざまな方法は何ですか-SQLServer/TSQLチュートリアルパート100

    3. #1075-テーブル定義が正しくありません。自動列は1つしか存在できず、キーとして定義する必要があります

    4. 異なるデータベースからのテーブルの結合