使用关系在CakePHP中显示数组的第四级
我有表格项目、屏幕截图、sub_屏幕截图和用户界面 我想实现这种图。这就像进入第四关使用关系在CakePHP中显示数组的第四级,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,我有表格项目、屏幕截图、sub_屏幕截图和用户界面 我想实现这种图。这就像进入第四关 尊敬,为了给您一些想法,我建议您使用afterFind回调 在查找之后,将用户设置到您希望使用用户模型进行另一次查找的任何位置 我不知道是否存在任何配置来修改$recursive而不修改核心 编辑 当您可以检查是否有$recursive=4并复制关系的核心功能并生成它们时,您可以在AppModel中创建一个通用的afterFind。使用可包含的行为。最近我也有一些关于它的问题。将recursive设置为4会更有
尊敬,为了给您一些想法,我建议您使用afterFind回调 在查找之后,将用户设置到您希望使用用户模型进行另一次查找的任何位置 我不知道是否存在任何配置来修改$recursive而不修改核心 编辑
当您可以检查是否有$recursive=4并复制关系的核心功能并生成它们时,您可以在AppModel中创建一个通用的afterFind。使用可包含的行为。最近我也有一些关于它的问题。将recursive设置为4会更有效,因为您只需要包含所需的模型 按照以下说明在模型上设置行为 然后,您应该能够执行查找并获得所需的结构
$this->Project->find(
'all',
array(
'conditions' => array(
//put your conditions in here
),
'contain' => array(
'User',
'Screenshot',
'Screenshot.SubScreenshot'
'Scrrenshot.SubScreenshot.User'
)
);
有几种方法可以使用模型语法。您可以将数组添加到包含的模型中,以添加条件和/或进一步的深度。我已经尝试了containable,但它只在第三个深度显示{SubScreenshot}。我想用{Screenshot array}来显示它,所以它应该是{arrayProject=>array Screenshot=>array SubScreenshot,User}而不是{arrayProject=>array Screenshot,SubScreenshot,User}这一切都取决于模型的关联方式。如果屏幕截图有许多子屏幕,那么可包含的行为将实现这一点。我将编辑帖子以获得subscreenshot的用户。我已经得到了!我包括var$actsAs=array'Containable';在项目模型中,并在屏幕截图模型中包含子屏幕。谢谢编辑我的answe,为用户提供subscreenshot。同样,如果模型如您所说是关联的,那么这应该在您要查找的深度处输出数组。
$this->Project->find(
'all',
array(
'conditions' => array(
//put your conditions in here
),
'contain' => array(
'User',
'Screenshot',
'Screenshot.SubScreenshot'
'Scrrenshot.SubScreenshot.User'
)
);