1

私はコントローラーUsers_controllerと関数travel()を持っています。私はその関数のビューtravel.ctpを持っています。 . travel.ctp で、要素を追加しました

  <?php echo $this->element("profile");?>

profile.ctp 要素で、以下のようなフォーム アクションを記述します。

    <?php echo $this->Form->create('User', array('url' => array('action' => 'travel')));?>

私の疑問は

  1. travel() でフォーム データを取得する方法
  2. そのデータを別のテーブルに保存する方法は?
  3. どうすればその要素を再利用できますか? そのフォームの送信に対して 1 つのアクションを作成したので、それを別のアクションに再利用するにはどうすればよいでしょうか?
4

1 に答える 1

1

コントローラーでは、たとえば変数を設定する必要があります

$this->set('result', 'something');

そして、あなたの travel.ctp に含まれる要素に値 "something" を渡します:

element("profile", array('result' => $result));?>

profile.ctp では、次のように通常この変数を使用できます。

$result

データを別のテーブルに保存するには、フォームの名前を変更できます

 <?php echo $this->Form->create('User', array('url' => array('action' => 'travel')));?>

またはフォームの名前を設定せず、手動でコントローラーにデータを保存するモデルをロードします

<?php echo $this->Form->create(null, array('url' => array('action' => 'travel')));?>

要素を再利用したいがアクションを変更したい場合は、次のようにアクションを設定する値を渡すことができます。

あなたのtravel.ctpで

<?php echo $this->element("profile", array('result' => $result, 'action' => 'youraction'));?>

あなたの profile.ctp で

<?php echo $this->Form->create('User', array('url' => array('action' => $action)));?>
于 2013-05-16T10:45:28.897 に答える