ユーザーがクエリを追加できるアプリがあります(ItQueries / add)。IT 部門がクエリ (ItQueries/view/1) を表示すると、コメント/応答できるはずです。私がこれまでやってきたことは。
IT クエリのビューで、IT 部門が応答を追加する要素を呼び出しました。以下は要素を呼び出す方法です
<?php echo $this->Element('/ItQueryResponses/add'); ?>
ItQueryResponses の送信時に、アクションが ItQueris のビュー ページにリダイレクトされ、その下にコメントが表示されるようにしたいと考えています。
これが私の要素のコードです
<?php echo $this->Form->create('ItQueryResponse', array('action' => 'add')); ?>
<?php echo __('Add It Query Response'); ?>
<?php
echo $this->Form->input('it_query_id');
echo $this->Form->input('response');
?>
<?php echo $this->Form->end(__('Submit')); ?>
ItQueryResponseController の追加関数は次のとおりです。
public function add() {
if ($this->request->is('post')) {
$this->ItQueryResponse->create();
if ($this->ItQueryResponse->save($this->request->data)) {
$this->Session->setFlash(__('The it query response has been saved'));
$this->redirect(array('Controller' => 'ItQueryResponses', 'action' => 'view'));
} else {
$this->Session->setFlash(__('The it query response could not be saved. Please, try again.'));
}
}
}
ItQueryResponses ビューのコードは次のとおりです
<h2><?php echo __('It Query Response'); ?></h2>
<dl>
<dt><?php echo __('Response'); ?></dt>
<dd>
<?php echo h($itQueryResponse['ItQueryResponse']['response']); ?>
</dd>
<dt><?php echo __('Created'); ?></dt>
<dd>
<?php echo h($itQueryResponse['ItQueryResponse']['created']); ?>
</dd>
</dl>
以下は私のItQueriesControllerです
<?php
App::uses('AppController', 'Controller');
class ItQueriesController extends AppController {
/** index method
public function index() {
$this->ItQuery->recursive = 0;
$this->set('itQueries', $this->paginate());
}
/** view method
public function view($id = null) {
$this->ItQuery->id = $id;
if (!$this->ItQuery->exists()) {
throw new NotFoundException(__('Invalid it query'));
}
$this->set('itQuery', $this->ItQuery->read(null, $id));
}
/** メソッドを追加
public function add() {
if ($this->request->is('post')) {
$this->ItQuery->create();
if ($this->ItQuery->save($this->request->data)) {
$this->Session->setFlash(__('The it query has been saved'));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The it query could not be saved. Please, try again.'));
}
}
$hrEmployees = $this->ItQuery->HrEmployee->find('list');
$this->set(compact('hrEmployees'));
}
/**OTHER CODE*/
}
ItQueryResponses ビューにリダイレクトして、ビューの下に ItQueryResponse を配置する方法を誰かに教えてもらえれば、それは素晴らしいことです。