我可能错过了这一点,但我试图在我的索引中回显一个 HABTM 值,但我似乎无法获取数据。
例如,我可以毫无问题地回应这些关系:
<?php echo $plan['Age']['name']; ?> <br />
<?php echo $plan['Applicant']['name']; ?> <br />
从 Plan 模型上的 _id 递归关系可以看出。
希望我的问题很清楚。只是不知道该怎么做。无论我尝试使用何种变量组合,似乎都无法解决它。
我可能错过了这一点,但我试图在我的索引中回显一个 HABTM 值,但我似乎无法获取数据。
例如,我可以毫无问题地回应这些关系:
<?php echo $plan['Age']['name']; ?> <br />
<?php echo $plan['Applicant']['name']; ?> <br />
从 Plan 模型上的 _id 递归关系可以看出。
希望我的问题很清楚。只是不知道该怎么做。无论我尝试使用何种变量组合,似乎都无法解决它。
对于 HABTM,数组是数字索引的:
<?php echo $plan['Zip'][0]['value']; ?> <br />
<?php echo $plan['Zip'][1]['value']; ?> <br />
<?php echo $plan['Zip'][2]['value']; ?>
由于您在 Plan 模型上执行 find 调用,因此请确保您在 Plan 模型中定义 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)
orprint_r($plan)
并检查数组的结构。
感谢您的帮助:)我通过这样做解决了:
foreach($plan['Zip'] as $zip):
echo $zip['title']; ?>
<?php endforeach; ?>
我的递归很深,所以我没有意识到我直接调用 Zip 表并运行 innde foreach 来解析 Zip 数组。