Kohana ORM 在多对多关系中获得一项记录

发布于 2024-08-30 18:30:20 字数 225 浏览 8 评论 0原文

我有两个表(项目/标签)。项目具有并属于许多标签 - 标签具有并属于许多项目。

对我来说,获取所有相关标签没有问题,例如:

$item = ORM::factory('item', 4);
foreach($item->tags as $tag){....}

但是我如何才能只获取一个......也许是一个特定的标签?

提前致谢!

I've got two tables (items / tags). Item has and belongs to many tags - tag has and belongs to many items.

It's no problem for me to fetch all related tags like:

$item = ORM::factory('item', 4);
foreach($item->tags as $tag){....}

But how can i fetch only one... and maybe a specific one?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情绪少女 2024-09-06 18:30:20

在 Kohana 3 中,您可以这样做:

$item = ORM::factory('item', 4);
$tag = $item->tags->where('somevalue','=',$value)->find();
if($tag->loaded()) {...}

where() 中输入您想要的条件。

编辑:

我做了一些研究,在 Kohana 2.3.x 中 where 语法是不同的,而不是 where('somevalue', '=', $value ) 你应该写 where('somevalue', $value)。或者 where('somevalue >', $value)where('somevalue !=', $value) 等。

In Kohana 3 you can do this:

$item = ORM::factory('item', 4);
$tag = $item->tags->where('somevalue','=',$value)->find();
if($tag->loaded()) {...}

Inside where() you put the condition you want.

Edit:

I did a little research and in Kohana 2.3.x the where syntax is different, instead of where('somevalue', '=', $value) you should write where('somevalue', $value). Or where('somevalue >', $value), where('somevalue !=', $value), etc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文