2017-08-01 5 views
0

私は、テーブルクラスのbeforeSaveメソッド内の送信されたデータにアクセスしようとしていますが、データベースに保存されているデータはすべて取得します。cakphp 3アクセスが変更されたエンティティデータ

public function beforeSave($event,$entity,$options) 
{ 
    // submitted data is ABC 
    // the value DEF is currently in the database 
    debug($entity->get('tag_string')); // DEF 
    debug($entity->tag_string); // DEF 
    debug($entity['tag_string']); // DEF 
    debug($entity); // the tag_string property is ABC (submitted value) 
    if($entity->tag_string) 
    { 
     $entity->tags=$this->buildTags($entity->tag_string); 
    } 
} 

質問:beforeFilterメソッド内で送信されたデータにどうやってアクセスできますか?

答えて

0

質問:beforeFilterメソッド内で送信されたデータにどうやってアクセスできますか?

の場合は、リクエストデータを「送信データ」とすることはできません。この時点でマーシャルによってエンティティに変換されました。

そして、あなたがタグのホイールを再発明する前に、質問はbeforeSave方法についてです。このプラグインhttps://github.com/UseMuffin/Tags

+0

を試してみてください。私はそれがうまくいくかどうかは分かりませんが、テーブル:: beforeSave()メソッドの中で、送信されたデータにアクセスできることは確かです。 –

+0

料理の本はデータへのアクセスについてはあまり言及していませんが、$ _POST変数で送信されたデータを見ることはできますが、これは従来のケーキの方法ではありません –

+0

私は彼がデータにアクセスしようとしていることをよく知っています。これはアーキテクチャの文脈では間違っています。彼は彼のアプローチを変える必要があるが、彼はそれ以上の情報を与えていないので... – burzum

関連する問題