我有这样的问题 - 有 3 个表,例如 Clients、Hats、Tshirts。每个客户都有一顶帽子和一件 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';
`
我无法显示 Clients View 的 indext.ctp,错误是: ` fatal error
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
)
);
关于php - CakePHP,表$belongsTo 两个表:错误Error: Cannot redeclare table::$belongsTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24229494/