【问题标题】:how to get a displayField from an associated model如何从关联模型中获取 displayField
【发布时间】:2012-08-03 14:47:39
【问题描述】:

我是 CakePHP 新手,在获取关联模型的显示字段时遇到了麻烦。

我的模型是这样的: - 有很多注释的问题。 - 笔记属于问题和用户。 - 用户有很多笔记。

当我查看注释时,用户有一个名为 name 的字段用作 displayField。但在问题的查看方法上,我只得到 user_id。有没有办法获取与某个问题的注释相关联的用户名?

提前谢谢你!!!

【问题讨论】:

    标签: cakephp cakephp-2.1


    【解决方案1】:

    您可以使用递归参数:cakephp docs

    $this->Question->recursive=1;
    $questions=$this->Question->find('all');
    $this->set(compact('questions'));
    

    那么在你看来:

      foreach($question['Note'] as $note)
            {
               foreach($note['User'] as $user){
                echo $user[name];
                  }
               }
    

    代码已编辑。

    【讨论】:

    • 谢谢。完美,这正是我需要的。我实际上添加使用recursive=2
    • 在我的示例中有一个 usekess 循环。从我的手机输入。
    • 您不必将递归设置为 2,因为您有直接关系 Questions that hasMany Notes,因此 recursive=1 应该足够了。不建议使用recursive=2,尤其是对于大型数据集,因为要获取大量记录,所以速度很慢。
    • 我无法接受我所理解的答案。
    • Borislav - 但我想要的是 user.name 和 user 与问题没有直接关系,还是我看错了?
    猜你喜欢
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多