Я пытаюсь отредактировать функцию index () для отображения объектов, с которыми модель index () имеет отношение "hasMany".
Если это полный рот, другими словами, я пытаюсь использовать "Связанные значения", которые могут появиться в запеченном представлении (), "представление", чтобы появиться в индексе (), "представление" в таблице. строки, следующие непосредственно за основными объектами.
Извините, если мне не хватает родного языка, чтобы объяснить это лучше, но, возможно, мой пример кода поможет.
Я попытался взять фрагмент из view.ctp и вставить его в цикл foreach index.ctp, но это не сработало. Очевидно, мне не хватает большинства того, что необходимо.
Мой главный объект - "Проекты", который имеет "Многие", "Статусы". Я ничего не делаю в контроллере или модели, чтобы добиться этого, и подумал, что это будет просто редактирование вида.
index.ctp:
<?php
$i = 0;
foreach ($projects as $project):
$class = null;
if ($i++ % 2 == 0) {
$class = ' class="altrow"';
}
?>
<tr<?php echo $class;?>>
<td><?php echo $project['Project']['id']; ?> </td>
<td><?php echo $project['Project']['name']; ?> </td>
<td>
<?php echo $this->Html->link($project['Brand']['name'], array('controller' => 'brands', 'action' => 'view', $project['Brand']['id'])); ?>
</td>
<td>
<?php echo $this->Html->link($project['Jobtype']['name'], array('controller' => 'jobtypes', 'action' => 'view', $project['Jobtype']['id'])); ?>
</td>
<td><?php echo $project['Project']['job_number']; ?> </td>
<td><?php echo $project['Project']['created']; ?> </td>
<td><?php echo $project['Project']['hours_to_date']; ?> </td>
<td><?php echo $project['Project']['number_of_concepts']; ?> </td>
<td><?php echo $project['Project']['number_of_resizes']; ?> </td>
<td><?php echo $project['Project']['requires_ia']; ?> </td>
<td><?php echo $project['Project']['requires_tech']; ?> </td>
<td><?php echo $project['Project']['requires_seo']; ?> </td>
<td><?php echo $project['Project']['complexity_level']; ?> </td>
<td><?php echo $project['Project']['vendor_name']; ?> </td>
<td><?php echo $project['Project']['team_members']; ?> </td>
<td class="actions">
<?php echo $this->Html->link(__('View', true), array('action' => 'view', $project['Project']['id'])); ?>
<?php echo $this->Html->link(__('Edit', true), array('action' => 'edit', $project['Project']['id'])); ?>
<?php echo $this->Html->link(__('Delete', true), array('action' => 'delete', $project['Project']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $project['Project']['id'])); ?>
</td>
</tr>
<tr>
<td colspan="16">
<div class="related">
<?php if (!empty($project['Status'])):?>
<table cellpadding = "0" cellspacing = "0">
<tr>
<th><?php __('Id'); ?></th>
<th><?php __('User Id'); ?></th>
<th><?php __('Project Id'); ?></th>
<th><?php __('Created'); ?></th>
<th><?php __('Percentage Complete'); ?></th>
<th><?php __('Status'); ?></th>
<th class="actions"><?php __('Actions');?></th>
</tr>
<?php
$i = 0;
foreach ($project['Status'] as $status):
$class = null;
if ($i++ % 2 == 0) {
$class = ' class="altrow"';
}
?>
<tr>
<?php echo $class;?>>
<td><?php echo $status['id'];?></td>
<td><?php echo $status['user_id'];?></td>
<td><?php echo $status['project_id'];?></td>
<td><?php echo $status['created'];?></td>
<td><?php echo $status['percentage_complete'];?></td>
<td><?php echo $status['status'];?></td>
<td class="actions">
<?php echo $this->Html->link(__('View', true), array('controller' => 'statuses', 'action' => 'view', $status['id'])); ?>
<?php echo $this->Html->link(__('Edit', true), array('controller' => 'statuses', 'action' => 'edit', $status['id'])); ?>
<?php echo $this->Html->link(__('Delete', true), array('controller' => 'statuses', 'action' => 'delete', $status['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $status['id'])); ?>
</td>
</tr>
<?php endforeach; ?>
</table>
<?php endif; ?>
</div>
</td>
</tr>
Спасибо заранее. Любые ответы или подсказки приветствуются.