HABTM эхо-значение, как стандартные отношения - PullRequest
0 голосов
/ 28 января 2011

Возможно, я упускаю из этого смысл, но я пытаюсь отобразить значение HABTM в моем индексе, и я не могу получить данные.

Например, я могу повторить эти отношениябез проблем:

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

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

Как вы можете видеть из рекурсивного отношения _id на модели плана.

Надеюсь, мой вопрос ясен.Просто не уверен, что с этим делать.Кажется, я не могу решить эту проблему независимо от того, какую комбинацию я пытаюсь использовать.

Ответы [ 2 ]

1 голос
/ 28 января 2011

Для HABTM массив численно индексируется:

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

Поскольку вы выполняете вызов find для модели плана, убедитесь, что вы определяете отношение 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) и изучить структуру массива.

0 голосов
/ 28 января 2011

Спасибо за вашу помощь :) Я решил, сделав это:

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

Моя рекурсия идет глубоко, поэтому я не осознавал, что вызываю таблицу Zip напрямую и запускаю innde foreach для анализа массива Zip.

...