Php 使用多个数据库表创建json API

Php 使用多个数据库表创建json API,php,mysql,json,api,Php,Mysql,Json,Api,我正在用配方创建一个API。我有3张表:菜谱、配料和菜谱配料,其中菜谱id和配料id是其他两张表的外键 我设法从桌上的配方和配料中获得了一切,效果很好。我的问题是:如何在这个数组中获得包含食谱和配料信息的数组?我有点理解我必须做一种加入,但我不知道如何在API中获得它 很难解释,但我希望你能理解。这是我的密码: $db = new PDO("mysql:host=localhost;dbname=recipes;charset=utf8", "root", "root"); $db->se

我正在用配方创建一个API。我有3张表:菜谱、配料和菜谱配料,其中菜谱id和配料id是其他两张表的外键

我设法从桌上的配方和配料中获得了一切,效果很好。我的问题是:如何在这个数组中获得包含食谱和配料信息的数组?我有点理解我必须做一种
加入
,但我不知道如何在API中获得它

很难解释,但我希望你能理解。这是我的密码:

$db = new PDO("mysql:host=localhost;dbname=recipes;charset=utf8", "root", "root");
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$stm = $db->prepare("SELECT * FROM recipe_ingredient") ;

$stm->execute();

header('Content-Type: application/json');

while($row = $stm->fetch(PDO::FETCH_ASSOC)) {

    $api = json_encode($row, JSON_PRETTY_PRINT);
    print_r($api);

}

你需要以这样的方式加入表格

"SELECT * FROM recipe_ingredient left join ingredient on ingredient.id = recipe_ingredient.ingredient_id left join recipe on recipe.id = recipe_ingredient.receipe_id"

然后,您可以使用php中的foreach循环生成最终结果,并使用api返回。

这三个表中的返回数据取决于api将使用什么,或者换句话说,api使用者将需要返回什么。