私は多くのテーブルに関連付けられたテーブル(ユーザテーブル)を持っています。データを保存している間、関連するすべてのテーブルに保存されています。しかし、いくつかのシナリオでは、私はassoicatiedテーブルではなく、ベーステーブル(User)にのみ保存する必要があります。cakephpの関連するテーブルにデータを保存するのを止める方法3
cakephp 2ではオプションのcallback => falseがありますが、これをどのようにしてcake 3で実現できますか?
私は多くのテーブルに関連付けられたテーブル(ユーザテーブル)を持っています。データを保存している間、関連するすべてのテーブルに保存されています。しかし、いくつかのシナリオでは、私はassoicatiedテーブルではなく、ベーステーブル(User)にのみ保存する必要があります。cakephpの関連するテーブルにデータを保存するのを止める方法3
cakephp 2ではオプションのcallback => falseがありますが、これをどのようにしてcake 3で実現できますか?
保存する関連テーブルを指定することができます(cf:CakePHP ORM Documentation)。
その後、行うことができます:
$this->Users->save($user, ['associated' => false]);
は、関連するテーブルに保存無効にします。 (私は私が仕事でだとして、それは私のために動作しない場合、私は私のメッセージを編集しますテストしていません!)
次のコードは、私のために働いた
$実体=の$ this - > Users-> newEntity ($ this-> request-> data、['ignoreCallbacks' => true、 'associated' => []]);
$ result = $ this-> users-> save($ entity);