私のスキーマは非常に単純です。各ユーザーには ID と名前があります。ユーザーに属するジョブがあります。実際のスキーマ -
CREATE TABLE `users` (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`name` varchar(20)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `jobs` (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`user_id` INT UNSIGNED ,
`type` int,
FOREIGN KEY (user_id) references users(id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
私のJobsControllerは次のようになります-
<?php
class JobsController extends AppController {
public $scaffold;
public $name = 'Job';
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id'
)
);
}
そしてUsersController as-
<?php
class UsersController extends AppController {
public $scaffold;
public $name = 'User';
public $hasMany = array(
'Job' => array(
'className' => 'Job',
'foreignKey' => 'user_id'
)
);
}
問題:
訪問するhttp://hostname/Jobs/add
と、ユーザーのドロップダウンが表示されますが、空です。私が見ることができるいくつかのユーザーを作成しましたhttp://hostname/Users/
ドロップダウンが空なのはなぜですか? ジョブを追加できますが、ジョブを表示すると、ユーザー フィールドが空で表示されます。