Zend FrameworkでWebアプリを作ることになり、久しぶりにZend Frameworkのリファレンスを見ながらコードを書いていたのだが、ものすごく単純なことなはずなのにZend_Db_Select
の仕様(?)のせいでちょいとハマっていた。
Webアプリではお決まりのユーザー管理機能なんだが、話を単純にするためにやりたいことだけに焦点を当てるために、以下のようなroles
テーブルとusers
テーブルがあるとしよう。
1 | CREATE TABLE roles ( |
2 | id SERIAL PRIMARY KEY , |
3 | name VARCHAR (255) NOT NULL UNIQUE |
4 | ); |
5 |
6 | CREATE TABLE users ( |
7 | id SERIAL PRIMARY KEY , |
8 | name VARCHAR (255) NOT NULL UNIQUE |
9 | role INT FOREIGN KEY REFERENCE |
10 | ); |
ユーザーにロールを割り当てる典型パターン。
で、やりたいことは、
ロールの一覧表示をする際に、そのロールが割り当てられているユーザー数も出したい!