嘿,我有两个模型用户和城市,其中一个用户属于一个城市,一个城市有很多用户。在城市表上,我有 city_id 和 city_name。
我使用了用过的蛋糕烘焙并创建了用户模型,当我添加新用户时,城市字段下的组合框显示城市的 id 而不是名称。
我尝试了几种方法来显示城市名称而不是 id,但我失败了。
嘿,我有两个模型用户和城市,其中一个用户属于一个城市,一个城市有很多用户。在城市表上,我有 city_id 和 city_name。
我使用了用过的蛋糕烘焙并创建了用户模型,当我添加新用户时,城市字段下的组合框显示城市的 id 而不是名称。
我尝试了几种方法来显示城市名称而不是 id,但我失败了。
您没有提及您尝试过的内容,但通常您会使用模型的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
.