teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

誤字

2017/02/06 12:30

投稿

popobot
popobot

スコア6588

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  hasManyの関係だと一つのfindでも実際に実行されるSQLはTagとSearchWordで別々です。なのでTagのorderはTagのカラムでしか無理です。
2
2
 
3
- 自分がよくやるのは、回避策は、SearchWordをTagでgroup byしてcountを取ったViewをデータベースに作って、このViewとhasOneの関係でアソシエーションする方法です。hasOneやbelongsToはTagと同じSQLで取得するのでorder指定できます。
3
+ 自分がよくやる回避策は、SearchWordをTagでgroup byしてcountを取ったViewをデータベースに作っておいて、このViewとhasOneの関係でアソシエーションする方法です。hasOneやbelongsToはTagと同じSQLで取得するのでorder指定できます。
4
4
 
5
5
  あとは、PHP側でSQLの後で、ソートする方法とかですかね(ただし、ページネートで使うソートの場合SQLでやらないと意味が無いので使えませんが)