この質問をわかりやすい方法で質問していることを願っています。私は1つのテーブル( jobschedule )を扱っているアプリに取り組んできました。したがって、models/Jobschedule.php、models/JobscheduleMapper.php、controllers/JobscheduleController.php、view/scripts/jobschedule/*.phtml ファイルがあります。
したがって、コントローラーで次のようにします。
$jobnumber = $jobschedule->getJobnum();
$jobtype = $jobschedule->getJobtype();
$table = $this->getDbTable();
public function listAction()
{
$this->_helper->layout->disableLayout();
$this->view->jobnum = $this->getRequest()->getParam( 'jobnum', false );
$this->view->items = array();
$jobschedule = new Application_Model_Jobschedule();
$jobschedule->setJobnum( $this->view->jobnum );
$mapper = new Application_Model_JobscheduleMapper();
$this->view->entries = $mapper->fetchAll ( $jobschedule );
}
そして、私のマッパーIIで次のようにします:
$resultSet = $table->fetchAll($table->select()->where('jobnum = ?', $jobnumber)->where('jobtype = ?', $jobtype) );
$entries = array();
foreach ($resultSet as $row) {
$entry = new Application_Model_Jobschedule();
$entry->setJobnum($row->jobnum)
->setJobtype($row->jobtype)
->setJobdesc($row->jobdesc)
->setJobstart($row->jobstart)
->setJobend($row->jobend)
->setJobfinished($row->jobfinished)
->setJobnotes($row->jobnotes)
->setJobid($row->jobid);
$entries[] = $entry;
}
return $entries;
}
次に、私の見解では、$entries を操作できます。さて、私が今直面している問題は、「jobno」という列を持つ「jobindex」という別のテーブルもあるということです。その「jobno」列には、「jobschedule」テーブルの「jobnum」列と同じレコードが保持されます。jobindex.jobno = joschedule.jobnum である「jobindex」テーブルの「store_type」列の値を見つける必要があります (1234 は、たとえば jobno/jobnum です)。誰かがここで私を助けてくれますか? jobindex マッパーとコントローラーを作成する必要がありますか? もしそうなら、それは完了です...両方のテーブルを一度に操作して、必要なレコードを取得する方法がわかりません。そして、そのコードをどこに配置するのですか...コントローラーのどこに?