2013年5月3日金曜日

[CakePHP]データ追加ページ

/app/views/exams/add.ctp というページを準備し、<body> 部に以下を記述する。
<?php
echo $form->create('Exam');
echo $form->input('user_id');
echo $form->input('date');
echo $form->input('math');
echo $form->input('english');
echo $form->input('physics');
echo $form->end('Save');
?>
/app/controllers/exams_controller.php を準備し、以下を記述する。
<?
class ExamsController extends AppController
{
 var $name = 'Exams';
 var $uses = array('User', 'Exam');
 var $helpers = array('Html', 'Javascript', 'Ajax');

 function index() {
  $this->set('exams', $this->Exam->find('all'));
 }

 function add() {
  $fields = 'username';
  $users = $this->Exam->User->find('list', array('fields' => $fields));
  $this->set('users', $users);
  if (!empty($this->data)) {
   debug($this->data);

   if ($this->Exam->save($this->data)) {
    $this->flash('Your post has been saved.' , '/examss');
   }
  }
 }
}
?>
$users を view の add.ctp に渡してやることで user_id の部分を user テーブルにある username と紐付けて表示することができる。

0 件のコメント:

コメントを投稿