Я пытался отобразить данные из разных моделей на одной странице, но все еще не могу заставить их работать.
Это отношения между моделями
Клиент имеет много работы
Работа принадлежит Заказчику
Работа имеет много заданий
Jobtask принадлежит Job
Jobtask имеет много Jobtasksvehicle
Jobtasksvehicle принадлежит Jobtask and Vehicle
Автомобиль имеет много рабочих заданий.
Это мой рабочий контроллер
function sch($id = null) {
if (!$id) {
$this->Session->setFlash(__('Invalid job', true));
$this->redirect(array('action' => 'index'));
}
$job = $this->Job->find('first', array(
'conditions' => array('Job.id' => $id),
'contain' => array('Customer',
'Jobtask' => array(
'Jobtasksvehicle' => array(
'Vehicle'
),
),
),
));
Что мне нужно сделать, так это отобразить данные о клиенте, работе, задании, задании, моделях транспортных средств.
Я могу получить отображение данных из Customer, Job и Jobtask, но не из Jobtasksvehicle и моделей транспортных средств. Я хочу отобразить каждое транспортное средство (модель транспортного средства), назначенное для каждой задачи.
Здесь я хочу отобразить задание и модели транспортных средств в одной таблице.
<?php
$i = 0;
foreach ($job['Jobtask'] as $jobtask):
$class = null;
if ($i++ % 2 == 0) {
$class = ' class="altrow"';
}
?>
<tr<?php echo $class;?>>
<td><?php echo $jobtask['id'];?></td>
<td><?php echo $jobtask['job_id'];?></td>
<td><?php echo $jobtask['rate_id'];?></td>
<td><?php echo $jobtask['type'];?></td>
<td><?php echo $jobtask['date'];?></td>
<td><?php echo $jobtask['starttime'];?></td>
<td><?php echo $jobtask['timeband'];?></td>
<td><?php echo $jobtask['settlement'];?></td>
<td><?php echo $job['Vehicle']['vehiclemodel'];?></td>
</tr>
<?php endforeach; ?>
</table>
?>