gpt4 book ai didi

php - 小花 : How to load all many-to-many relationships in one query

转载 作者:行者123 更新时间:2023-11-30 23:40:16 27 4
gpt4 key购买 nike

我有一个看起来像这样的数据库关系:

booking -> person <-> option

-> : one-to-many
<-> : many-to-many

我现在需要列出预订中的所有人,以及他们的所有选项。在 kohana 中使用 ORM 我可以像这样加载所有人:

$persons = ORM::factory('booking', $id)->persons->find_all();

然后我可以遍历这些人并获得他们的所有选项,但这意味着每个人一个查询。有没有一种聪明的方法可以加载它而不必这样做?我想结束的是这样的:

booking
└ id
└ created
└ persons
└ 0
└ id
└ name
└ options
└ 0
└ id
└ price
└ n
└ id
└ price
└ n
└ id
└ name
└ options
└ 0
└ id
└ price
└ n
└ id
└ price

我可能必须为此编写一个自定义数据库查询,但即便如此我也不太确定该怎么做。我的 SQL-fu 不是最好的 :p

最佳答案

如果您使用的是 ORM,则根本不需要编写任何 SQL。

您会发现本指南很有帮助。

http://www.scribd.com/doc/5022685/Kohana-PHP-ORM-Guide-Volume-1-我认为这是针对 Kohana 版本 2 中的 ORM,但我认为它没有太大的不同。您的里程可能会有所不同。

请注意 ORM 需要非常具体的命名约定。如果您有一个旧数据库,其命名约定不同于 ORM 可以处理的命名约定,您将不得不放弃 ORM 并重新使用 SQL。 Kohana 帮助中有很多例子。

关于php - 小花 : How to load all many-to-many relationships in one query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3939180/

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