【发布时间】:2010-08-14 20:27:45
【问题描述】:
嘿,我有两个模型 User 和 City,其中一个用户属于一个城市,一个城市有很多用户。 在 city 表上,我有 city_id 和 city_name。
我使用了用过的蛋糕烘焙并创建了用户模型,当我添加新用户时,城市字段下的组合框显示城市的 ID 而不是名称。
我尝试了几种方法来显示城市名称而不是 id,但都失败了。
【问题讨论】:
标签: php cakephp cakephp-bake
嘿,我有两个模型 User 和 City,其中一个用户属于一个城市,一个城市有很多用户。 在 city 表上,我有 city_id 和 city_name。
我使用了用过的蛋糕烘焙并创建了用户模型,当我添加新用户时,城市字段下的组合框显示城市的 ID 而不是名称。
我尝试了几种方法来显示城市名称而不是 id,但都失败了。
【问题讨论】:
标签: php cakephp cakephp-bake
您没有提及您尝试过的内容,但通常您会使用模型的displayName 属性来设置应该用作记录“标题”的字段。在你的情况下,我认为:
$this->displayName = 'city_name';
请注意,在 1.3 中,属性名称看起来像是 displayField 而不是 displayName。
【讨论】:
Cake 需要特定的表格布局才能使自动化工作。 Rob 解释了如何绕过它。但是如果你想避免编写额外的代码行,你应该考虑相应地组织你的表格。
CREATE TABLE `cities` (
`id` int(11) AUTO_INCREMENT NOT NULL,
`name` varchar(25) NOT NULL,
PRIMARY KEY (`id`)
)
当您烘焙此模型时,Cake 会自动使用 name 作为显示名称。这将适用于您创建的每个表。另外,如果你对表使用id,它会自动知道如何将它作为外键从其他表中引用为city_id。
【讨论】: