0
我有兩個表格,分別叫做Siteaddress
和Jobsheet
。在Jobsheet
表中有一個名爲siteaddress
的字段,其中包含存儲在Siteaddress
表中的站點地址的ID。使用CakePHP中的指定字段加入兩個表格
我遇到的問題是,雖然我做的控制器聯接,CakePHP會使用兩個表中的id
領域加入Siteaddress
表到Jobsheet
表。這會導致問題,因爲Siteaddress
表中只有一條記錄(迄今爲止),並且Jobsheet
表中有多條記錄。
我需要做的是告訴CakePHP加入Jobsheet.siteaddress
到Siteaddress.id
,而不是它目前的工作方式。
我該如何做到這一點?
下面是關係代碼從Jobsheet
模型文件:
public $hasOne = array(
'Company' => array(
'className' => 'Company',
'foreignKey' => 'id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Siteaddress' => array(
'className' => 'Siteaddress',
'foreignKey' => 'id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
乾杯!
我已將它設置爲'siteaddress',但它隨後返回錯誤:'找不到列:'on'子句'中的1054未知列'Siteaddress.siteaddress' – mickburkejnr 2012-03-29 09:03:20
啊,你說得對。在這種情況下'hasOne'可能不是您要找的關聯。用'siteaddress'' foreignKey'定義'$ belongsTo'關聯可能是一個更好的選擇。 – mensch 2012-03-29 09:13:37
使用'$ belongsTo'工作。非常感謝! – mickburkejnr 2012-03-29 11:52:00