【发布时间】:2017-11-09 12:10:54
【问题描述】:
您好,我想将此查询更改为 cakePHP 3.0 格式,但代码无法正常工作,你们能帮我解决这个问题吗?
普通 SQL:
SELECT COUNT(user_tag_review.id) AS user_numbers, SUM(user_rating.rating_value) AS rating_value FROM user_tag_review INNER JOIN user_rating ON user_tag_review.id = user_rating.review_id WHERE user_tag_review.recruiter_id = 2 AND user_rating.rating_id = 1
我用过的CakePHP代码:
$review_table = TableRegistry::get('UserTagReview');
$query = $review_table->find();
$query->select(["user_numbers" => $query->func()->count("UserTagReview.id")])
->hydrate(false)
->join(["table" => "user_rating",
"alias" => "r",
"type" => "INNER",
"condition" => ['r.review_id = UserTagReview.id']
])
->select(["rating_value" => $query->func()->sum("r.rating_value")])
->where(["UserTagReview.recruiter_id" => $recruiter_id, "UserTagReview.rating_id = " . 1]);
$result = $query->all()->toArray();
【问题讨论】:
-
“不工作”在这里没有帮助。你确定是
condition而不是conditions吗? -
是的条件选项在我加入但不工作任何类型的 sql 函数时工作......
-
肯定是
conditions,复数形式。并且,正如@code-kobold 所提到的,“不起作用”不是正确的问题描述,请始终尽可能具体,并描述确切会发生什么,以及您的期望而是发生。
标签: sql cakephp cakephp-3.0