$message = $this->Messages->get($id, [
'contain' => []
]);
$message = $this->Messages->patchEntity($message, $this->request->data);このあたりは、既に何度も登場した処理ですからわかりますね。では、テンプレートのフォームがどうなるか掲載しておきましょう。
if ($this->Messages->save($message)) ……
<?= $this->Form->create($message) ?>
<fieldset>
<legend><?= __('Edit Message') ?></legend>
<?php
echo $this->Form->input('members_id', ['options' => $members]);
echo $this->Form->input('title');
echo $this->Form->input('comment');
?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
public function edit($id = null) { $message = $this->Messages->get($id, [ 'contain' => [] ]); if ($this->request->is(['patch', 'post', 'put'])) { $message = $this->Messages->patchEntity($message, $this->request->data); if ($this->Messages->save($message)) { $this->Flash->success(__('The message has been saved.')); return $this->redirect(['action' => 'index']); } else { $this->Flash->error(__('The message could not be saved. Please, try again.')); } } $members = $this->Messages->Members->find('list', ['limit' => 200]); $this->set(compact('message', 'members')); $this->set('_serialize', ['message']); }
<< 前へ | 次へ >> |