我有这样的问题 - 有3个表,例如Clients,Hats,Tshirts。每个客户都有一个Hat和一个Tshirt关系。我这样做了:
`
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
`
如何在我的数据库中处理该关系?
答案 0 :(得分:1)
要声明belongsTo关系,您需要为每个belongsTo关系创建一个对象数组而不是单个var。
在您的客户端模型中,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
)
);