[英]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.