gpt4 book ai didi

php - Kohana ORM - 我该怎么做?

转载 作者:行者123 更新时间:2023-11-30 21:23:46 25 4
gpt4 key购买 nike

在我想今天尝试一下之前从未使用过 ORM,但我遇到了我不知道如何解决的第一个问题(由于我不了解 ORM 的真正工作原理。)

假设我有三个表:Languages、Codes 和一个数据透视表 Codes_Languages。这些都在模型中正确定义了关系。

现在,为了呼应所有语言的名称,我可以这样做:

$languages = ORM::factory('languages')->find_all();
foreach ($languages as $language)
{
echo $language->name, '<br />';
}

如果我想回显特定语言中的所有代码名称,我可以这样做:

$language = ORM::factory('languages', 1);
foreach ($language->codes as $code)
{
echo $code->title, ' ', $code->description;
}

但是,如果我需要这样做呢:检索每种语言的最新五个代码(按 DESC 在 code.time_posted 上排序)?

$languages = ORM::factory('languages')->find_all();
???$languages->codes = ORM->order_by('time_posted', 'desc')->limit(5);???
foreach ($languages as $language)
{
echo $language->name, '<br />';
foreach ($language->codes as $code)
{
echo $code->name, ' ', $code->description;
}
}

我在一些我认为可以解释我正在尝试做的事情的伪代码周围放置了问号。我最近从 CodeIngiter 转换过来,因为我认为 Kohana 更经过深思熟虑,但是文档似乎缺乏,我无法找到如何做我需要的事情。

任何指导都会很棒。谢谢。

最佳答案

免责声明:我从未使用过 Kohana 的 ORM,但阅读 the documentation , 看起来你需要这样的东西:

ORM::factory('languages')->orderby('time_posted', 'DESC')->find_all(5);

您几乎可以使用 Kohana 的所有 query builder methodsorderby, join 等在 ORM 对象上做更复杂的查询。

(就 PHP 的 ORM 而言,Doctrine 已经差不多了。它应该 integrate nicely 与 Kohana 或与此相关的任何其他框架。)

关于php - Kohana ORM - 我该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1371353/

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