0
我需要加入一個模型本身...但我得到的錯誤「不是唯一的表/別名:‘圖像’」CakePHP的模型包含iteself
Image
模式:
id: int
thumbnail_image_id: int null
key: varchar... filename
location: varchar... s3 or local
created: datetime
modified: datetime
Image
型號:
<?php
App::uses('AppModel', 'Model');
class Image extends AppModel {
public $belongsTo = array(
'Thumbnail' => array(
'className' => 'Image',
'foreignKey' => 'thumbnail_image_id'
)
);
public $hasOne = array(
'Thumbnail' => array(
'className' => 'Image',
'foreignKey' => 'thumbnail_image_id'
)
);
public function exampleFunction() {
return $this->find('all', array(
'contain' => array('Thumbnail')
));
}
運行exampleFunction
它給我的錯誤「不是唯一的表/別名:‘形象’」。 CakePHP像這樣構建SQL:
SELECT `Image`.`id`, `Thumbnail`.`id` FROM `images` AS `Image` LEFT JOIN `images` AS `Image`.`thumbnail_image_id` = `Thumbnail`.`id`;
但是它應該是這樣的......對吧? (注意倒ON
):
SELECT `Image`.`id`, `Thumbnail`.`id` FROM `images` AS `Image` LEFT JOIN `images` AS `Thumbnail`.`id` = `Image`.`thumbnail_image_id`;
如果我在MySQL控制檯上運行兩個以上的SQL查詢的第二部作品。
對此提出建議?
爲什麼需要加入?簡單地選擇「id」和「thumbnail_image_id」字段有什麼問題? – Oldskool 2013-03-09 00:11:00