首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Kohana中执行搜索导航2个模型之间的关系

在Kohana中执行搜索导航2个模型之间的关系
EN

Stack Overflow用户
提问于 2011-12-20 21:55:11
回答 1查看 142关注 0票数 1

假设我有两个模型,用户和位置。模型之间有一个定义的关系,使我能够做到这一点:

代码语言:javascript
复制
$user->location->name;

我不知道这是否可能,但我可以使用以下内容执行搜索:

代码语言:javascript
复制
$user->location->where('name', '=', 'Paris')->find();

返回其位置名为Paris的用户?

EN

回答 1

Stack Overflow用户

发布于 2012-01-07 07:08:08

简而言之,你可以。这就是为什么。

当您调用find方法时,ORM将遍历要添加到查询中的所有挂起属性,添加它们并执行查询。在您的示例中,有两个待处理的规则要添加到查询中。您正在定义的第一个显然是where('name', '=', 'Paris'),第二个隐藏在relationship $user->location中。

当您从关系中调用ORM属性时,它实际上返回一个在关系中定义的ORM对象,该对象未加载,但其对象中有一个挂起的where子句和一个join。因此,当您最后调用find方法时,您是在使用两个where子句和一个join在location对象上调用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8576540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档