[英]How to prevent get hasMany relation data when using Custom Query
具有$ hasMany關系的購買模態。 我無法從Modal中隱藏$ hasMany ,因為它是必需的。
問題 :某個時候我正在使用自定義查詢,那時候我不想要$ hasMany關系數據。
如何防止在CakePHP模型中獲取$ hasMany關系數據
在自定義查詢中為防止獲取$ hasMany關系數據該怎么辦。
購買方式
class Purchase extends AppModel {
/*
Modal Related Code
*/
public $hasMany = array(
'PurchaseProduct' => array(
'className' => 'PurchaseProduct',
'order' => 'PurchaseProduct.created DESC'
)
);
);
購買控制器 :在此處使用自定義查詢僅獲取日期
$PurchaseDate= $this->Purchase->find('all',
array('order' => array('Purchase.date_generated ASC'),
'fields' => array('DISTINCT Purchase.date_generated','Purchase.id')));
即將結果
Array
(
[0] => Array
(
[Purchase] => Array
(
[date_generated] => 1970-01-01
[id] => 9
)
[PurchaseProduct] => Array
(
[0] => Array
(
[id] => 15
[Purchase_id] => 9
[product_id] => 5
[product_name] => ABC
[created] => 2014-08-15 18:51:49
)
)
)
)
所需結果
Array
(
[0] => Array
(
[Purchase] => Array
(
[date_generated] => 1970-01-01
[id] => 9
)
)
)
防止具有自定義查詢的hasMany關系數據的一種方法是使用
$this->recursive = -1;
您需要在模型中在查詢代碼之前定義它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.