GamebelongsToTypeという関係があります。ゲームの追加ビューに、さまざまなタイプのドロップダウンリストが表示されます。タイトルはテーブルのVARCHARです。しかし、1つを選択して保存を押すと、タイトルの代わりにタイプのIDが保存されます(ドロップダウンリストでタイトルを選択しました。PHPmyAdminでゲームを作成すると、すべてが正常に機能します。私のコード:
GameModel
class Game extends AppModel {
public $name = 'Game';
public $primaryKey = 'id';
public $belongsTo = array
(
'Type' => array (
'className' => 'Type',
'foreignKey' => 'type_id'
));
GameControllerに関数を追加します
public function add() {
$types = $this->Game->Type->find('list',array('fields' => array('title')));
$this->set('types',$types);
if ($this->request->is('game')) {
if ($this->Game->save($this->request->data)) {
$this->Session->setFlash('Your game has been created.');
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash('Unable to add your game.');
}
}
}
タイプのビューを追加
<h1>Add Game</h1>
<?php
echo $this->Form->create('Game',array('action' => 'edit'));
echo $this->Form->input('tablename',array('rows' => '1'));
echo $this->Form->input('date');
echo $this->Form->input('type_id');
echo $this->Form->end('Save Games');
?>
誰かが解決策を見つけられることを願っています。さらに情報が必要な場合は、plsは遠慮なく質問してください。
よろしくお願いいたします。