【发布时间】:2013-04-13 10:00:51
【问题描述】:
我有一个用户表和一个城市表,我想将它们相互关联。正如您所猜测的,一个城市可以有多个用户,但一个用户只能链接到一个城市。
我真的不知道如何布置我的桌子。当我为 City 尝试 $hasMany 关系并为我的 User 尝试 $hasOne 时,我收到一个错误,因为在我的城市表中找不到 client_id 字段。我的城市表将被修复:没有人会改变表。我只是想在这张表中存储一些关于某个城市的信息。
编辑:这是我的表格和模型(保持简单):
clients { id, firstname, lastname, city_id }
cities { id, name, some_other_data }
这是我的模型:
// User
class Client extends AppModel {
public $hasOne = array(
'City'
);
}
// City
class City extends AppModel {
public $useTable = 'cities';
public $hasMany = array(
'Client'
);
}
【问题讨论】:
-
你能用模型更新你的问题吗(如果你有的话,用户和城市),你表的列/名称?
-
您有
User和City表,但应该有users和cities... 或者更确切地说是clients和cities根据我所看到的在你的模型中 -
那不是问题。我遵循 CakePHP 的命名约定。我的用户模型可以访问数据。但我无法让'$hasOne city'工作,因为当我设置它时,我得到了这个错误:SQLSTATE[42S22]: Column not found: 1054 Unknown column 'City.client_id' in 'on clause'
标签: cakephp associations has-one database-relations