如何使cakePHP检索外键所代表的数据?

时间:2010-03-27 19:43:24

标签: php cakephp

我有一个包含多个表的简单数据库。我无法弄清楚如何使cakePHP在索引视图中显示与外键关联的值。或者创建一个视图,其中我选择的字段(对于用户有意义的字段,如位置名称 - 而不是location_id可以在单个页面上更新或查看)。

我在http://lovecats.cakeapp.com创建了一个示例来说明问题。如果您查看页面并单击“列出猫”,您会注意到它显示位置表中的location_id字段。您还会注意到,当您单击“添加猫”时,您必须从位置表中选择location_id。这是cakePHP构建应用程序的自动化方式。我希望这是字段location_name。

alt text

设置数据库,以便表cat具有名为location_id的外键,该外键与名为locations的表有关系。

这是我的问题:我希望这些页面显示location_name而不是location_id。如果您想登录该应用程序,可以转到http://cakeapp.com/sqldesigners/sql/lovecats,输入密码'password'来查看数据库关系等。

如何有一个显示我想要的字段的页面?是否可以创建一个可以同时更新所有表中字段的页面?

这是我一直想弄清楚的一块蛋糕,这真的让我超过了一个驼峰。您可以从上面的url下载app和sql。

2 个答案:

答案 0 :(得分:3)

哈,你弄清楚了! Cake使用$ displayField变量来决定要做什么,显示。

如果我没记错的话,默认情况下,cake会查找“title”和“name”字段,如果这两个字段不可用,它只会显示您的主键字段。幸运的是,你可以用自己想象的方式覆盖它;)

答案 1 :(得分:1)

我猜您需要在视图中回显$ cat ['Location'] ['location_name']。