Dipesh が言ったように、物事をより簡単に、より速くするには、テーブルを正しく関連付ける必要があります。また、コントローラー、モデル、ビューだけでなく、データベースの設計にもCakePHP の命名規則を使用することをお勧めします。それはあなたの多くの仕事と頭痛の種を救います。ケーキ焼き機能を利用できます。
それとは別に、異なるビューを使用する意味がわかりません。代わりに要素 (view/eElements/) を使用することもできますが、私はもっと簡単にします。
1 つのコントローラーで複数のモデルを使用できる (そしておそらく使用する) ことを考慮する必要があります。これを言った、あなたのview
アクションはテーブルticketController
にも呼び出してit_responses
、別の配列のデータを取得できます。
例えば:
class TicketsController extends AppController {
//using the It_response model
var $uses = array('Ticket' , 'It_response');
public function view($id){
$ticketData = $this->Ticket->find('all', array('conditions' => array('Ticket.id' => $id));
$responsesData = $this->It_response->find('all', array('conditions' => array('It_response.ticket_id' => $id));
//setting the variables in the ticket view.
$this->set('ticket', $ticketData);
$this->set('responses', $responsesData);
}
とにかく、チケットが応答モデルに正しくリンクされている場合は、応答の配列を含むクエリを 1 つ実行するだけで済みます。