doctrine リポジトリ クラスを使用して Zend アプリケーションを構築し、データを更新、削除、および DB に挿入しています。これらのリポジトリはコントローラ アクションから呼び出され、本来の目的を正確に実行します。ただし、アプリケーションにいくつかの確認ダイアログを追加したいので、たとえば、ユーザーがアイテムを編集または削除したい場合は、最初に編集または削除の確認ダイアログを開く必要があり、データは状況に応じて編集または削除されます。ユーザーが選択するもの。ユーザーが zend フォームの送信ボタンをクリックした後に、スタッフ メンバーの詳細を更新するためのアクション コードの例を次に示します。
public function updatestaffAction()
{
if ($this->getRequest()->isPost()) {
if ($form->isValid($this->getRequest()->getPost())) {
$values = $form->getValues();
$user = $this->entityManager->find('\PTS\Entity\Staff', $values['staff_number']);
$staffValues = array('staff_number' => $values['staff_number'],
'title' => $values['title'],
'first_name' => $values['first_name'],
'last_name' => $values['last_name'],
'telephone' => $values['telephone'],
'cellphone' => $values['cellphone'],
'fax' => $values['fax'],
'email' => $values['email'],
'job_title' => $values['job_title']);
$this->staffRepository->saveStaff($staffValues);
$this->entityManager->flush();
}
}
スタッフ リポジトリの saveStaff メソッドは、単純に新しい Staff オブジェクトを作成し、スタッフ メンバーが存在しない場合はそのオブジェクトを保持します。または、上記の更新コードの場合のように、既存のスタッフ メンバーの場合は新しいデータをマージします。
私の質問は、ユーザーが確認ダイアログで [はい] ボタンをクリックした場合にのみデータを保存するようにアクションを変更するにはどうすればよいかということです。ところで、ダイアログは JQuery または Dojo ダイアログ ボックスのいずれかになります。