CakePHP3 自作関数の設置場所
CakePHP3初心者の質問です。
よろしくお願いします。
○ビュー
<?= $this->Form->create($post); ?> <?= $this->Form->input('title'); ?> <?= $this->Form->input('body'); ?> <?= $this->Form->button('Add'); ?> <?= $this->Form->end(); ?>○コントローラー
public function add()
{
$post = $this->Posts->newEntity();
// ※
$post = $this->Posts->patchEntity($post, $this->request->data);
$this->Posts->save($post);
$this->set(compact('post'));
}
↑
見よう見まねでこういうのを作ってみました。DBに対してレコード追加はできました。
いま、試してみたいのは、コントローラー内で、DBに対しレコードを追加(save)前に、ビューのフォームからやってきた値を加工する、ということです。
試行錯誤の結果、※のところに
$this->request->data['title'] = 'aiueo';
と書いたら、値を変えることはできました。
しかし、もう一歩進んで、オリジナル関数を経由させて値を変えることができません。
コントローラー内に、
public function kako(string $str){
return 'Done-kako'.$str;}
こういう関数を書いて、
※のところに $this->request->data['title'] = kako($this->request->data['title']);
としても駄目です。
どうやら、コントローラー内に関数を書くことじたい御法度なんじゃないかと想像してるのですが、では、kako関数はどこに書けばいいのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/19 06:10