【发布时间】:2012-07-26 21:13:14
【问题描述】:
我在 CakePHP 中同时使用 Associations to Link Models。
我有一个Player 模型,它使用$hasMany 关系链接到Statistic 模型。所以基本上一个玩家可以有很多统计数据。
设置这些关系后,我使用cake bake 为Player 和Statistic 模型生成控制器和视图。
一切正常并按预期工作,但是当我使用添加模板添加统计信息时,player_id 被用作关联。
我的问题是如何设置模型以使用 player_id 作为关联,但使用玩家的名字和姓氏之类的东西作为添加模板中的下拉菜单。
目前,如果我要添加一个新的统计信息,我会得到一个名为“玩家”的下拉框,其中列出了所有玩家 ID,但我想要的是玩家的名字和姓氏在该下拉框中的身份证。我意识到我可以修改控制器或模板来完成此操作,但我想知道我是否可以在设置模型时执行此操作,以便cake bake 可以处理它。
玩家模型:
<?php
class Player extends AppModel {
public $name = 'Player';
public $belongsTo = array(
'School' => array(
'className' => 'School',
'foreignKey' => 'school_id'
)
);
public $hasMany = 'Statistic';
}
统计模型:
<?php
class Statistic extends AppModel {
public $name = 'Statistic';
public $belongsTo = array(
'Player' => array(
'className' => 'Player',
'foreignKey' => 'player_id'
)
);
}
玩家表
`id|school_id|first_name|last_name|number|position
【问题讨论】:
标签: php cakephp orm cakephp-model