私はforeachを使用して同じテーブルに異なるモデルの異なるデータを表示しようとしています。これは、モデルcakephp異なるモデルの異なるデータを表示するためにforeachを使用する
カスタマーhasManyの仕事
仕事belongsToのカスタマー
仕事hasManyのJobtask
Jobtask belongsToの仕事
Jobtask hasManyのJobtasksvehicle
Jobtasksvehicle belongsToのJobtaskと車両との間の関係であります
車両hasManyのJobtasksvehicle
は、これはこれは私が収容可能振る舞いを使用して、私は$仕事をデバッグするとき、私はjobtask、仕事やjobtasksvehicleからデータを取得
<div class="jobs index">
<h2><?php __('Jobs Summary');?></h2>
<table cellpadding="0" cellspacing="0">
<tr>
<th>Job Id</th>
<th>Jobtasks ID</th>
<th>Customer</th>
<th>Vehicle ID</th>
</tr>
<?php
$i = 0;
foreach ($jobs as $job):
$class = null;
if ($i++ % 2 == 0) {
$class = ' class="altrow"';
}
?>
<tr<?php echo $class;?>>
<td><?php echo $job['Job']['id']; ?> </td>
<td><?php echo $job['Jobtask']['id']; ?> </td>
<td><?php echo $job['Customer']['full_name']; ?> </td>
<td><?php echo $job['Jobtasksvehicle']['vehicle_id']; ?> </td>
</tr>
<?php endforeach; ?>
</table>
<?php echo debug($job); ?>
</div>
私の見解である私のコントローラ
function viewsch($id = null) {
$jobs = $this->Jobtask->find('all', array(
'contain' => array('Customer',
'Job' => array('conditions' => array('Job.id =' => 'Jobtask.job_id')),
'Jobtasksvehicle'=> array('conditions' => array('Jobtasksvehicle.vehicle_id = Vehicle.id'))
)));
$this->set(compact('jobs'));
}
です顧客からのものではありません。しかし、jobtasks車両にはデータはありません。私はすでにjobtasksvehicleをjobtaskに割り当てています。表示されているジョブとジョブタスクのみが表示され、残りの場合は未定義インデックス:顧客と未定義インデックス:vehicle_idと表示されます。
私を助けてください。私のプロジェクトにとっては本当に重要です。ありがとう。
注:SQLに表示されているものは、このようなものです。
CUSTOMERS c、JOBJ、JOBTASKS t、JOBTASKSVEHICLES tv、tv.jobtask_id = t.id、t.job_id = j.idおよびjからc.full_name、j.id、t.id、tv.vehicle_idを選択します。 .customer_id = c.id;あなたは
<td><?php echo debug($job); ?> </td>
に
<td><?php echo $job['Jobtasksvehicle']['vehicle_id']; ?> </td>
を変更した場合
私はあなたが何を言いたいのか分からない。私はちょうど$仕事のために取り出されるデータを知るためにデバッグを入れました。 –