我如何从蛋糕php(蛋糕2)中的两个表中选择记录
我是蛋糕php的新手。我有两个表我如何从蛋糕php(蛋糕2)中的两个表中选择记录
- ce_landing
- ce_stat
结构是
ce_stat
id keyword click
1 keyword1 24
2 keyword2 2
3 keyword3 6
ce_landing
id page_keyword
1 keyword1,check,keyword3
2 keyword2,usa,alphanumeric
我想获取所有记录ce_landing.page_keyword
存在于ce_stat.keyword
。我在我的蛋糕PHP模型
public $hasMany = array(
'Stat' => array(
'className' => 'Stat',
'foreignKey' => 'keywor',
'dependent' => false,
'conditions' => array('Stat.keyword LIKE' => '%Landing.page_keywords%'),
'group' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
使用此但这会产生像
SQL查询的SQL查询:SELECT
Stat
。id
,Stat
。customer_id
,Stat
。account
,Stat
。campaign_id
,Stat
。campaign
,Stat
。keyword
,Stat
。ad_grp_id
,Stat
。ad_grp
,Stat
。impressions
,Stat
。clicks
,Stat
。cost
,Stat
。qualityScore
,Stat
。keywordState
,Stat
。date_from
,Stat
。date_to
,Stat
。user_id
,Stat
。created
,Stat
。modified
,Stat
。keywor
从EB_adwords
。ce_stats
ASStat
WHEREStat
。keyword
LIKE '%Landing.page_keywords%'ANDStat
。keyword
= ( '559f479a-82ac-4e3d-8c24-19b5c0a8011f')
所以它返回由于AND Stat
空数据。 keyword
=('559f479a-82ac-4e3d-8c24-19b5c0a8011f')条件。
更新
什么,我想根据目前的关键字与总点击次数从ce_landing
得到所有的记录。即ce_landing
中的记录1。我会得到的结果
id page_keyword clicks
1 keyword1,check,keyword3 30
2 keyword2,usa,alphanumeric 2
你需要一个SQL语句相当于:
SELECT ce_landing.id, ce_landing.page_keyword, SUM(ce_stat.click) AS total_clicks
FROM ce_landing
LEFT JOIN ce_stat
ON FIND_IN_SET(keyword,page_keyword)>0
GROUP BY ce_landing.id, ce_landing.page_keyword;
不容易转化为CakePHP的find
方法。只需使用query method即可实施。
完美答案。感谢名单 – MKD
我认为它会需要自定义查询使用'UNION' – insanebits
不可能与蛋糕关系模型? – MKD
联合不工作'“使用的SELECT语句有不同的列数”是错误 – MKD