我有这样的问题-有三张桌子,例如客户,帽子,T恤。每位客户都有一顶帽子和一件T恤。我这样做的:
`
ClientsModel:
var $name = 'Client';
var $belongsTo = 'Hat';
var $belongsTo = 'Tshirt';
HatModel:
var $name = 'Hat';
var $hasMany = 'Client';
TshirtModel:
var $name = 'Tshirt';
var $hasMany = 'Client';
`
无法显示客户端视图的indext.ctp,错误为:
`
致命错误
Error: Cannot redeclare Cleint::$belongsTo
File: /var/www/uat/app/Model/Client.php
`
在我的数据库中如何处理这种关系?
最佳答案
要声明belongsTo关系,需要创建一个对象数组,而不是为每个belongsTo关系创建一个变量。
在你的客户模型中,belongsTo关系需要如下所示:
public $belongsTo = array(
'Hat' => array(
'className' => 'Hat',
'conditions' => '',
'order' => '',
'foreignKey' => 'hat_id' //or your external key
),
'Tshirt' => array(
'className' => 'Tshirt',
'conditions' => '',
'order' => '',
'foreignKey' => 'tshirt_id' //or your external key
)
);
MANUAL
关于php - CakePHP,表$ belongsTo为两个表:错误错误:无法重新声明表:: $ belongsTo,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24229494/