我是 CakePHP 的新手,无法弄清楚如何调用具有 Containable 行为的模型类的 read() 方法。我可以使用 find() 执行以下操作

$this->T->find('all', array ( 
    'contain' => array ( 
        'C',  
        'L' => array ( 
            'fields' => array ('L.id, L.time'), 
            'I' => array ( 
                'fields' => array ('I.id','I.time'), 
                'J.name', 
                'J.id' 
            ) 
        ) 
    ) 
); 

这正如我预期的那样工作,但我不想获取 T 的所有实例,而是获取 id = $id 的实例,以便我可以将其传递给“ View ” View 。但是传递给 find 的数组在执行时不起作用
$this->T->read( 
array ( 
        'contain' => array ( 
            'C',  
            'L' => array ( 
                'fields' => array ('L.id, L.time'), 
                'I' => array ( 
                    'fields' => array ('I.id','I.time'), 
                    'J.name', 
                    'J.id' 
                ) 
            ) 
        ) 
, $id) 

有没有办法做到这一点?

请您参考如下方法:

您也可以在 read() 调用之前设置:

$this->T->id = $id; 
$this->T->contain(array(...)); 
$this->T->read(); 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!