行の数が多くなってくると処理速度的に不都合が生じる可能性は高いのですが、 少ないうちはSQLで対応するのも一つの手段かと思います。
1 2 3 4 5 6 7 |
SELECT base.id, (SELECT option_value FROM option_table WHERE id = base.id AND option_key = 'name' ) AS 名前, (SELECT option_value FROM option_table WHERE id = base.id AND option_key = 'age' ) AS 年齢 FROM option_table base GROUP BY base.id |