我有3个mysql表(order、camp、user)如下值,
order_table
ID camp_id orderDate
1 1 2015-01-01
2 1 2015-02-01
3 2 2015-03-01
4 3 2015-01-01
5 4 2015-04-01
6 2 2015-01-01
7 4 2015-07-01
camp_table
camp_id uid camp name
1 10 first camp
2 11 second camp
3 12 third camp
4 10 forth camp
user_table
uid uname
10 abc
11 xyz
12 wrt
就像上面的例子一样,我想使用YII1中的user_table(uid 10)的order_table记录计数
$criteria = new CDbCriteria();
方法。
或任何其他方法,但工作速度快,因为 order_table 中有数百万条记录
我已经尝试了所有我能找到的选项,但没有一个对我有用。
感谢您的帮助。
最佳答案
试试这个,这可能对你有帮助。
Yii 标准:
$criteria = new CDbCriteria;
// $criteria->select = '*';
$criteria->join = 'INNER JOIN company ON order.company_id = company.id';
$criteria->join .= 'INNER JOIN user ON company.user_id = user.id';
$criteria->condition = 'user.id=:id';
$criteria->params = array(':id'=>10);
$customers = Order::model()->count($criteria);
Mysql查询:
SELECT count(*)
FROM `order`
INNER JOIN `company` ON `order`.`company_id` = `company`.`id`
INNER JOIN `user` ON `company`.`user_id` = `user`.`id`
WHERE `user`.`id` = 10;
关于php - 如何在 YII 中使用 3 个带有连接的表来获取总计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40073157/