與更新後的代碼我試圖綁定付款和網站之間的關係,但似乎group by不起作用。我得到很多重複的結果。Cakephp運行時綁定關聯組通過不起作用
更新時間:
$this->Website->unBindModel(array('hasMany' => array('User')));
$this->Website->bindModel(array(
'hasMany' => array(
'Payment' => array(
'className' => 'Payment',
'foreignKey' => 'website_id',
'fields' => array(
'Payment.id',
'Payment.website_id',
'Payment.created',
'Payment.user_id',
'Payment.is_get_invoice'
) ,
'conditions' => array(
'Payment.website_id <>' => '0',
'Payment.is_get_invoice' => '0'
),
'order' => array(
'Payment.id DESC'
),
'group' => array(
'Payment.website_id' //Its not working
)
)
)
)
);
$this->Website->recursive = 1;
$webPayments = $this->Website->find('all', array('fields' => array('Website.id'),'contain' => array('Payment')));
老:
我試圖綁定和取消綁定模式運行。 但它給了我錯誤。即使關聯也不起作用。
$this->Website->unBindModel(array(
'hasMany' => array(
'User'
)
));
$this->Website->bindModel(array(
'hasMany' => array(
'Payment' => array(
'className' => 'Payment',
'foreignKey' => 'website_id'
)
)
));
$this->Website->recursive = 1;
$webPayments = $this->Website->find('all', array(
'fields' => array(
'Website.id',
'Payment.id',
'Payment.website_id',
'Payment.created',
'Payment.user_id'
) ,
'conditions' => array(
'Payment.website_id <>' => '0',
'Payment.is_get_invoice' => '0'
) ,
'order' => array(
'Payment.id DESC',
'group' => array(
'Payment.website_id'
)
)
));
pr($webPayments);
錯誤:
Columnnotfound:1054 Unknowncolumn 'Payment.id' 在 '字段列表'
SELECT`Website` . `id`, `Payment` . `id`, `Payment` . `website_id`, `Payment` . `created`, `Payment` . `user_id`, FROM`websites` AS `Website`WHERE`Payment` . `website_id` <> 0 AND `Payment` . `is_get_invoice` = '0' AND `Payment` . `created` > '2017-04-13 07:07:54' GROUPBY `Payment` . `website_id` ORDERBY `Payment` . `id` DESC
是否使用的是蛋糕的版本? –
@GeorgeM Cakephp 2.6 –
你在更新中做得很好,把'訂單'和'組'放在同一層。 –