CakePHP | JOINしたテーブルカラムのソート方法

bake

containの制限

Modelから関連データを取得する際に、containを指定してデータを取得する方法があります。

このcontainは、とても便利なメソッドです。

 

しかしながら、関連データ側のカラムについて、操作する場合には、色々と制限があります。

関連データ側のカラムについて、ソートする場合にもこの制限が問題になります。

sortで指定できるカラムは、軸になっているテーブルのカラムだけしかソート指定ができません。

また、実行時にエラーにはならないので、気が付きにくいです。

 

この解決については、色々な方法があります。

古いバージョンでは、virtualFieldsを利用した方法が一般的なようです。

そもそも、virtualFieldsで対応するならば、

検索テーブルの主軸を変更することを検討するべきだとは思いますが、

手軽に解決するには、下記のような方法も有効です。

ソート方法

もっと良い方法もあるかと思いますが、

1つの解決策として有効だと思います。

おススメ商品

タイトルとURLをコピーしました