覚えないといけないかな。命令文。
で、
「ユーザーが タグを いくつか持っている。ただし、そのタグを持っていないユーザーはfindしない」
というSQL文を発行したいときにどうすればいいのか?
cakephpで考えてみたが全然わからん。
解決策として、一度全て読み出してそれを foreach でごりごりやろうか・・・と
思ったがそれでは進歩が無いし、バグの温床オンパレード。
1日かけて leftjoin と innerjoin を知ることになった。
leftjoinって何ですか。
ユーザーがタグを 10個もってようが、0個もってようが持ってまいが関係無いしにユーザー情報を読み出しますよ。
だからタグを持っていないユーザーを読み出したくないなんてワガママは通用しませんよ。
innerjoin
ユーザーがタグを持っていない場合はそのユーザーのデータは全て読み出しませんよ。
よって、タグを持っていないユーザーは読み出さないって時はこちらを使いましょうね。
という違い。
で、cakephp は基本的に leftjoin になっているみたい。
では、cakephpでinnerjoinにするにはどうしたらいいのか?
を次の章で考えてみます。



