私はこのMySQLクエリを持っていますが、かなり簡単に思えます:
SELECT users.nick, users.id, COUNT(pm.id) AS pms
FROM users LEFT JOIN pm ON users.id = pm.touser
WHERE users.id = :id AND pm.read = 0
GROUP BY users.id
ここでやりたいことは、読み取られていないすべての PM を単純にカウントすることです (「読み取り」列に「1」がありません)。ある場合、クエリは正常に機能しますが、その条件を満たす行がない場合は何も返しません。
私は解決策を探すために最後の時間を費やしましたが、それがこのように機能するのは本当に奇妙に思えます。「pms」をエコーしながら「0」のみを出力する必要があります。