私は CakePHP を初めて使用し、英語が母国語ではないため、質問が明確でない場合は申し訳ありません。とにかく、 DeveloperとGameの 2 つのモデルがあります。
<?php
class Developer extends AppModel
{
var $name = 'Developer';
var $belongsTo = array('Game');
}
?>
と
<?php
class Game extends AppModel
{
var $name = 'Game';
var $hasMany = array('Developer');
}
?>
ゲームと開発者の ID を実際に知らなくても、ゲームと開発者の間に関係があることを示す game_id フィールドと developer_id フィールドのみを持つテーブル developer_games に新しい行を追加するにはどうすればよいでしょうか。同時。私は CakePHP がこれを行うことができると思っていましたが、developer_games テーブルに新しい行を追加しませんでした。データを保存した後に Game と Developer の 'id' フィールドを取得し、その後手動でリレーションシップ モデル データを developer_games テーブルに保存する必要がありますか?
新しいゲームと開発者をデータベースに追加するために使用するコードは次のとおりです。
$data = $this->Game->saveAll(array(
'Game' => array(
'game_id' => $data['GameId'],
'game_name' => $data['GameName'],
),
'Developer' => array(
'Developer' => array(
'username' => $_POST['dev_username'],
'password_hash' => $_POST['dev_password'],
),
),
));
$this->Game->saveAll($data);
不明な点がある場合はお知らせください。明確にいたします。私は長い間この問題に苦しんできたので、私が得られる助けに感謝します。ありがとう!