我沒有運氣試圖彎曲CakePHP做我所需要的。CakePHP - 查找模型使用協會以外的ID
我有2個型號,代碼& ListingService。
ListingService的領域如下:ID,標題,listing_id,service_type_id (因此,在某種程度上,它就像一個已經和屬於與上市一對多的關係)
當我做一個找到現在。 (在Listing.php使用屬於關聯)
public $belongsTo = array(
'ListingService' => array(
'className' => 'ListingService',
'foreignKey' => 'id'
)
);
$this->paginate = array('type' => 'all', 'recursive' => 0,
'fields' => array('Listing.id', 'Listing.title',
'ListingService.service_type_id','ListingService.title'),
'limit' => 10
);
這是顯示
SELECT `Listing`.`id`, `Listing`.`title`, `ListingService`.`service_type_id`, `ListingService`.`title` FROM `listings` AS `Listing` LEFT JOIN `listing_services` AS `ListingService` ON (`Listing`.`id` = `ListingService`.`id`) LIMIT 10
查詢這幾乎是我需要的,但我想LEFT JOIN爲ON(Listing
。 id
= ListingService
。listing_id
)代替ON(Listing
。id
= ListingService
。id
)
如果我使用 「的hasMany」 它不甚至不用做左連接。
我目前沒有ListingService.php模型。
請注意。
謝謝
三通
如果listing_id * *是數據庫中的主鍵,它是不是黑客攻擊,但它確實* *的意思是你沒有堅持CakePHP的約定。如果它是一個新項目,我會建議您儘可能使用CakePHP命名約定。這不僅會使得它更容易,它還會迫使你*一致*。參見[模型和數據庫公約](http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#model-and-database-conventions) – thaJeztah 2013-04-27 12:44:21