0

だから私はコースシステムを設定しています.コースには前提条件があります. 1 つのコースが他の多くのコースの前提条件である場合もあれば、それ自体に多くの前提条件がある場合もあります。私は Course モデルを持っており、現在 HABTM 結合テーブルを使用しています。これは、事前要求のタイプ (通常、共同要求、または「同時実行による事前要求」と呼ばれるもの) も追跡する必要があるためです。同時に前提条件を取得します)。コースモデルは次のとおりです。

class Course extends AppModel {
        public $name = 'Course';
        public $belongsTo = 'Department';
        public $hasMany = array(
            'Instance' => array('className' => 'Instance'),
        );
        public $hasAndBelongsToMany = array(
            'Prereq' => array(
                'className' => 'Course',
                'joinTable' => 'prereq_successor',
                'foreignKey' => 'successor_id',
                'associationForeignKey' => 'prereq_id', 
                'unique' => 'keepExisting'
            )
        );
}

問題は、(フォームではなく、ファイルを介してアップロードされたデータから) saveAll のデータを作成する必要があり、ドキュメントからその方法を理解できないことです。

CakePHP 2.0の本に基づいて、これ(コントローラーコード)を試しましたが、黙って失敗します:

//test based on cakePHP 2.0 book fails:
$data = array(
    'Course' => array('id' => 1),
    'Prereq' => array(
        'successor_id' => 1,
        'prereq_id' => 3,
        'type' => 'prereq'
    )
);
$result = $this->Course->saveAssociated($data);

そして、私はこれ(コントローラーコード)を試しましたが成功しませんでした:

//test based on cakePHP 2.0 book fails:
$data = array(
    array(
        'Course' => array('id' => 1),
        'Prereq' => array(
            'successor_id' => 1,
            'prereq_id' => 3,
            'type' => 'prereq'
        )
    )
);
$result = $this->Course->saveAll($data);

前もって感謝します、デイブ

4

1 に答える 1

0

問題はあなたのデータにあると思います。これを試して:

$data = array(
    array(
        'Course' => array('id' => 1),
        'Prereq' => array(
            array(
                'successor_id' => 1,
                'prereq_id' => 3,
                'type' => 'prereq'
            )
        )
    )
);
$result = $this->Course->saveAll($data);
于 2012-09-19T11:40:49.180 に答える