0

誰かが私を助けてくれることを願っています。私は 2 つのテーブルのウェブサイトといいねを持っています。各ウェブサイトにはいいねがあります。すべてのウェブサイトをいいねの数で並べ替える方法がわかりません。これは私にはかなり基本的に聞こえますが、解決策を見つけることができませんでした...

次のようなものは、私が最後に試したことです(モデルに含まれるactsasが利用可能です):

$this->paginate = array('contain' => array(
    'Like' => array(
         'order' => array('count(Like.id) DESC')
    )
));
$this->set('websites', $this->paginate());

誰かが私を助けてくれますか?

乾杯。アンドレアス

// UPDATE 解決策を見つけました。私は今カウンターキャッシュを使用しています。興味のある方はcounterCache - count()をここにキャッシュしてください。それが私のコードです

$this->paginate = array(
    'order' => array('like_count' => 'desc'),
    'limit' => 15
);
$this->set('websites', $this->paginate());
4

1 に答える 1