5.0.0 - 致命 - 未处理
当使用withCount 作为关联统计的时候,获取的表前缀是真实的数据表名,而不是模型名(model名跟数据库表不一样),导致sql执行失败$orders = Order::field('u_id,addtime')
->withJoin([
'user' => ['nc'=>'user_name']
], 'LEFT')
->withCount(['orderList'=>'product_count'],'id')
->where('h_id', $id)
->find();生成的sql语句SELECT
`order`.`u_id`,
`order`.`addtime`,
`nc` AS `user_name`,
(SELECT
COUNT(*) AS tp_count
FROM
`oders_lists` `count_table`
WHERE (
`count_table`.`od_nums` = orders.od_nums
)) AS `product_count`
FROM
`orders` `order`
LEFT JOIN `users` `user`
ON `order`.`u_id` = `user`.`id`
WHERE `h_id` = 48
LIMIT 1 下面是order ,上面是orders源码部分
return $this->query->alias($aggregate . '_table')
->whereExp($aggregate . '_table.' . $this->foreignKey, '=' . $this->parent->getTable() . '.' . $this->localKey)
->fetchSql()
->$aggregate($field); 