cakephp noob 提出的简单问题:
我有两个模型,玩家和团队。
Team 有一个 id (int) 和一个 cool_name (varchar)。
Player 有一个 id (int)、一个 cool_name (varchar) 和一个对 team 表的引用 team_id (int)。
Cool_name 而不是 name,因为我没有英文表格,所以我不能使用“name”字段。
所以,一个球队有很多球员,一个球员属于球队。
我的播放器型号:
class Player extends AppModel {
var $name = 'Player';
var $belongsTo = array('Team');
}
(团队模型里面除了名字什么都没有)
玩家控制器:
class PlayersController extends AppController {
var $name = 'Players';
function add() {
$this->set('teams', $this->Player->Team->find('list'));
//then save...
}
在播放器的添加视图中:
//...
echo $form->input('squadra_id');
//...
好的,所以我有一个包含团队 ID 的选择;我不想要 id,而是团队的名称,然后保存 id:类似于(在 html 中)
<select name="data[Player][team_id]" id="PlayerTeamId">
<option value="1">Cool Name 1</option>
<option value="2">Cool Name 2</option>
<!-- -->
<option value="{team id}">{team cool name}</option>
</select>
我能怎么做?
- 解决方案-
代替
$this->set('teams', $this->Player->Team->find('list'));
把这个
$this->set('teams', $this->Player->Team->find('list', array('fields' => array('cool name') ) ) );