gpt4 book ai didi

php - 在 PHP MySQL 查询中获取外键对象的简洁方法

转载 作者:可可西里 更新时间:2023-11-01 08:34:37 26 4
gpt4 key购买 nike

我使用以下代码从我的 MySQL 数据库中获取一本书对象。

$q = $pdo->prepare('SELECT 
book_id "id",
book_title "title",
book_slug "slug"
FROM book
WHERE book_id=:id');
$q->bindParam(':id', $id, PDO::PARAM_INT);
$q->execute();
$book = $q->fetchObject('Book');

书籍与歌曲之间存在多对多关系,歌曲有song_idsong_titlesong_lyrics,所以我有一个book_song包含 book_idsong_id 的表格。

我想获取属于一本书的所有歌曲。有没有一种简洁的方法可以在一个查询中执行此操作?

我在这里寻找的是如何以一种干净的方式编写查询,以及如何处理结果以得到一个 Book 对象,该对象包含一个 Song 对象数组而没有太多代码。

最佳答案

gillyspy 建议的 JOIN 将是 ORM 处理此问题的方式,但如果您只使用 PDO,那么您必须自己处理所有映射(以及循环,检测何时创建新对象等) .) 在我看来,您已经跨越了考虑 ORM 框架(例如 http://www.phpactiverecord.org/)的阈值。如果再添加一个一对多关联,映射会让您的大脑受伤。

关于php - 在 PHP MySQL 查询中获取外键对象的简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16524230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com