2012-10-07 61 views
0

我有一个用户模型和Notes模型。CakePHP hasMany

用户模型:

class User extends AppModel { 
var $name = 'User'; 
var $hasMany = array(
'Note' 
    ); 
} 

用户控制器:

public function notesview() 
    { 
    $allnotes = $this->User->Note->find('all', array('order'=>'Note.created DESC')); 
    } 

视图元素:

$allnotes = $this->requestAction(array('controller'=>'Users', 'action'=>'notesview')); 
foreach($allnotes as $viewnotes): 
{ 
    echo $viewnotes['Note']['notes']; 
    echo "<br>"; 
    echo $viewnotes['Note']['created']; 
    echo "<br>"; 
    echo $viewnotes['User']['name']; 

} 
endforeach; 

现在的元素,你可以看到“回声$ viewnotes [ '用户'] ['名称']; ”。我希望在此元素中检索用户模型的名称字段,但出现以下错误:

Notice (8): Undefined index: User [APP\View\Elements\notes.ctp, line 39] 

回答

1

您是否在Note模型中设置了belongsTo关系?

因此,举例来说,你会:

<?php 
class Note extends AppModel { 
    public $belongsTo = array('User'); 
} 
+0

是注意belongsTo用户。 那么我们必须在两个模型上添加关联吗? –

+0

谢谢Josh求助。它完成:) –

1

是否注意属于关联用户?

class Note extends AppModel { 
    public $name = 'Note'; 
    public $belongsTo = array('User'); 
} 
+0

是注意belongsTo用户。 那么我们必须在两个模型上添加关联吗? –

+0

是的,你必须在两个模型中指定关联。请粘贴我们完整的'Note'和'User'模型。甚至可能是你的元素中的'debug($ allnotes)'的输出。 – Jan

+0

谢谢Jan求助。它完成:) –