0

多くのモデル B シナリオを持つモデル A があります。次の方法で依存関係を定義しました。

class A extends AppModel {
    var $hasMany = array(
                        'B' => array(
                                    'className' => 'A',
                                    'foreignKey' => 'keyword_id',
                                    'dependent' => true
                                    )
                    );

クラス A には次の列があります。

keyword
created

クラス B (テーブル B) には次の列があります。

keyword_id
category_id

私の問題は、以下のコードを実行すると、テーブル B に keyword_id に対応する keyword_id と category_id があると予想されることです。

    $data = array(
                   'A' => array(
                    'keyword' ( => 'zzzzz'
                            ),
                        'B' => array(
                                 3,4,5
                                 )
                        );
        $this->A->saveAll($data);

次のスクリプトを実行すると、テーブル B の対応する keyword_id に「NUll」しかありません。私が別のことをする必要があることは他にありますか?

4

2 に答える 2

0

データが正しくフォーマットされていないと思います。次のようにフォーマットする必要があると思います。

$data = array(
     0  => array(
         'A' => array(
               'keyword' => 'zzzzzz',
               'created' => '',
          ),
         'B' => array(
              0 => array(
                  'category_id' => 3,
              ),
              1 => array(
                  'category_id' => 4,
              ),
              etc.,
          ),
     ),
     etc.,
);
于 2013-09-24T15:55:02.183 に答える