HABTM回声值与标准关系一样

时间:2011-01-27 21:07:18

标签: php cakephp rdbms has-and-belongs-to-many cakephp-appmodel

我可能会忽略这一点,但我试图回应索引中的HABTM值,而我似乎无法获取数据。

例如,我可以回答这些关系,没有问题:

<?php echo $plan['Age']['name']; ?> <br />

<?php echo $plan['Applicant']['name']; ?> <br />

正如您可以从Plan模型的_id递归关系中看到的那样。

希望我的问题很明确。只是不知道该怎么做。无论我尝试组合变种,似乎无法解决它。

2 个答案:

答案 0 :(得分:1)

对于HABTM,数组以数字方式编制索引:

<?php echo $plan['Zip'][0]['value']; ?> <br />
<?php echo $plan['Zip'][1]['value']; ?> <br />
<?php echo $plan['Zip'][2]['value']; ?>

由于您正在对计划模型执行查找调用,因此请确保您在计划模型中定义HABTM关系,但最好在两个模型中。

呃......除非我的记忆让我失望。可能是这种结构:

<?php echo $plan['Plan']['Zip'][0]['value']; ?> <br />
<?php echo $plan['Plan']['Zip'][1]['value']; ?> <br />
<?php echo $plan['Plan']['Zip'][2]['value']; ?>

最好的办法是使用var_dump($plan)print_r($plan)并检查数组的结构。

答案 1 :(得分:0)

感谢您的帮助:)我解决了这个问题:

foreach($plan['Zip'] as $zip): 
echo $zip['title']; ?>
<?php endforeach; ?>

我的递归运行得很深,所以我没有意识到我直接调用Zip表并运行一个innde foreach来解析Zip数组。