[英]cakephp join query is not working
我是蛋糕php的新手。我想在兩個表之間編寫聯接查詢。我的查詢是:
select * from deal_purchases as dp
join users as u on u.id = dp.user_id
where dp.deal_id = 6
group by user_id
並且此查詢運行完美。但是我想用cakephp編寫此查詢。 我寫了這樣的查詢:
$table = "deal_purchases";
$query['conditions'] = array('deal_purchases.deal_id'=>$deal_id);
$query['fields'] = array('deal_purchases.*','users.*');
$query['joins'] = array(
array(
'table'=>'users',
'alias'=>'users',
'type'=>'INNER',
'conditions'=>array('users.id = deal_purchases.user_id')
),
);
$query['group'] = array('deal_purchases.user_id');
$result = $this->find('all', $query);
此查詢未執行,如何解決此問題?
請檢查以下文件:
您的控制器頂部的“ $uses
”數組包含“ DealPurchase
”示例
class MerchantController extends AppController {
var $uses = array(
'DealPurchase'
);
嘗試以下
$query['conditions'] = array('DealPurchase.deal_id'=>$deal_id);
$query['fields'] = array('DealPurchase.*','User.*');
$query['joins'] = array(
array(
'table'=>'users',
'alias'=>'User',
'type'=>'INNER',
'conditions'=>array('User.id = DealPurchase.user_id')
),
);
$query['group'] = array('DealPurchase.user_id');
$result = $this->DealPurchase->find('all', $query);
模型名稱的數據庫表Deal_purchases的格式應為DealPurchase.php
,格式如下
<?php
class DealPurchase extends AppModel {
var $name = "DealPurchase";
//Relationship some tables
//Validation here
}
?>
User.php模型(用戶)
class User extends AppModel {
var $name = "User";
var $hasMany = array(
'DealPurchase' => array(
'className' => 'DealPurchase',
'foreignKey' => 'user_id',
'dependent' => true //true means when delete the user entry via coding then also deleted the deal_purchases entry also
)
);
//validation
}
DealPurchase.php模型(deal_purchases)
class DealPurchase extends AppModel {
var $name = "DealPurchase";
var $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id'
)
);
//validation
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.