我正在使用食谱创建API。我有3个表:食谱,成分和recipe_ingredient,其中recipe_id和ingredients_id是来自其他两个表的外键。
我设法从表recipe_ingredient获得所有东西,它工作正常。我的问题是:如何在这个数组中使用食谱和成分的信息获取数组?我有点明白我必须做一种join
但我不知道知道如何在我的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);
}
答案 0 :(得分:0)
您需要以某种方式加入表格
"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返回。