私が構築しているもので問題が発生しました。
2 つのテーブルがあります。1 つはジョブ シート テーブルで、もう 1 つはジョブ データ テーブルです。ジョブ シート テーブルには、ジョブ番号、ワーカーなどに関する情報が格納されます。ジョブ データ テーブルには、ジョブ番号 (ジョブ シート テーブルにリンクされている) とそれに関連するジョブなどが格納されます。たとえば、次のようになります。
Job Sheet
---------------------------
| ID | Jobnum | Worker |
---------------------------
| 1 | 1234 | J.Bloggs |
| 2 | 5678 | J.Smith |
---------------------------
Job Data
----------------------------
| ID | Jobnum | Work |
----------------------------
| 1 | 1234 | Light bulb |
| 2 | 1234 | Painting |
| 3 | 1234 | Decorating |
| 4 | 5678 | Wood Work |
| 5 | 5678 | Cleaning |
----------------------------
私の問題は、ジョブシートを画面に印刷するときに、ジョブシートの詳細を印刷できるようにしたいということです。次に、ジョブシートごとに、次のような関連データを印刷します。
Job Sheets To Be Printed
--------------------------------------------------------
Job Sheet ID - 1
Job Number - 1234
Worker - J.Bloggs
Work Undertaken
---------------
Light Bulb
Painting
Decorating
***********
Job Sheet ID - 2
Job Number - 5678
Worker - J.Smith
Work Undertaken
---------------
Wood Work
Cleaning
私の問題は、ジョブ シートの詳細 (名前など) を印刷することはできますが、データベースから 1 セットのレコードしか返されず、それらを各ジョブ シートに入れることです。したがって、最初のジョブ シートのデータは、2 番目のジョブ シートにも表示されますが、独自のデータが必要です。
コントローラーの私のコードは次のとおりです。
$jobsheets = $this->Jobsheet->find('all', array('conditions' => array('Jobsheet.contract' => $contractid), 'recursive' => 2));
$this->set('jobsheets', $jobsheets);
foreach ($jobsheets as $js) {
$jobnum[] = $js['Jobsheet']['jobnum'];
}
print_r($jobnum);
foreach ($jobnum as $jn) {
// Job Data
$jobrec = $this->Jobdata->find('all', array('conditions' => array('Jobdata.jobsheetid' => $jn), 'recursive' => 2));
$this->set('jobrec', $jobrec);
}
ビューには、次のコードがあります。
<?php foreach ($jobsheets as $jobsheet) { ?>
<p>Job Sheet ID - <?php echo $jobsheet['Jobsheet']['id']; ?></p>
<p>Job Number - <?php echo $jobsheet['Jobsheet']['jobnum']; ?></p>
<p>Worker - <?php echo $jobsheet['Jobsheet']['worker']; ?></p>
<p>Work Undertaken</p>
<?php foreach ($jobrec as $jb) { ?>
<p><?php echo $jb['Jobdata']['work'];?></p>
<?php } } ?>
したがって、現時点では、次のように表示されています。
Job Sheets To Be Printed
--------------------------------------------------------
Job Sheet ID - 1
Job Number - 1234
Worker - J.Bloggs
Work Undertaken
---------------
Light Bulb
Painting
Decorating
***********
Job Sheet ID - 2
Job Number - 5678
Worker - J.Smith
Work Undertaken
---------------
Light Bulb
Painting
Decorating
これを修正するにはどうすればよいですか?