首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得cakePHP模型->字段方法来使用相关模型的条件?

如何获得cakePHP模型->字段方法来使用相关模型的条件?
EN

Stack Overflow用户
提问于 2011-05-15 19:12:26
回答 2查看 6.9K关注 0票数 1

我有一个问题,我需要从一个记录中检索一个字段,没有关联的模型,同时使用使用的条件--关联的模型?

示例:

代码语言:javascript
复制
Categories {name, id}  
Keywords {name, id}  
Articles {title, text, id, keyword_id, category_id}

我想检索第一个Articles.id,当Article.category_id=3等。

使用Model->field('model.field',array(conditions))是有效的,只要条件不使用外部模型。($this->Model->recursive=4不起作用)。

使用Model->find('first', array(conditions))可以很好地工作,除了我也可以得到我不需要或不想要的关联数据,通过禁用使用关联模型比较的能力来限制递归结果。

有什么建议吗?

编辑

我的问题,除了是糟糕的调试器:-)是通过限制递归使用model->read方法解决的。然而,长期而言,可能是使用可控制的行为。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-15 19:17:42

查找()方法将fields参数作为其选项之一。您还可以设置recursive参数,以确保您获得了适当级别的关系。

根据您的操作程序,以下内容将在不加入任何关系的情况下检索您想要的内容。

代码语言:javascript
复制
$this->Article->find('first', array('recursive' => -1, 'fields' => array('Article.id'), 'conditions' => array('Article.category_id' => 3)));

如果您的需求比上面的要求更强,您可以查看绑定模型可控制行为。但从你所描述的,以上是适当的解决方案。这对海事组织来说太过分了。

票数 1
EN

Stack Overflow用户

发布于 2011-05-15 19:20:52

我将使用Model->find()可容纳行为来限制加载哪些关联,而字段参数仅将结果限制在所需的字段中。

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

https://stackoverflow.com/questions/6010586

复制
相关文章

相似问题

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