Я использую Medoo для своего веб-сайта, и я наткнулся на проблему, мне нужно получить количество строк в другой таблице из текущего оператора select, вот так:
SELECT uploads.date, users.username, (SELECT COUNT(*) FROM views WHERE views.upload_id=?) AS views FROM users, uploads
Я уже сделал запрос Medoo для него, но моя проблема в том, что я не знаю, как получить счетчик другой таблицы, поэтому мой вопрос: как я могу использовать Count () в Medoo?
[Редактировать]Я обнаружил, что возможность использовать Count еще не реализована ..
Когда у кого-то еще возникает эта проблема, вы можете использовать ее, пока они не добавят функциональность,
$viewCount = $this->db->count("views", ["upload_id" => $imgID]);
Только один запрос даст вам лучший результат и улучшит гибкость.
SELECT upload.id, COUNT(views.*) as views, COUNT(comment.*) as comments
FROM uploads
LEFT JOIN views
ON views.upload_id = uploads.id
LEFT JOIN comments
ON comments.upload_id = uploads.id
WHERE uploads.uid =?
GROUP BY uploads.id
ORDER BY uploads.id DESC
LIMIT 12
Других решений пока нет …