4

外部テーブルの値を使用してORMで並べ替え(または並べ替え)する方法はありますか?

次のようなことができますか?

ORM::factory("table")->order_by("table.foregin_table.column" , "ASC") 

または、通常のMySQLを使用して、古い学校のテーブルを結合する必要がありますか?

4

1 に答える 1

6

もちろん可能です。たとえば、私は写真付きの2つのテーブルと、1対多の関係を持つ投票を持っています。最も人気のある写真を取得するために、投票数で写真を並べ替えたいとしましょう。これになります:

$pictures = ORM::factory('picture')
    ->select(array('COUNT("picture_votes.id")', 'votes'))
    ->join('picture_votes','left')
    ->on('picture_votes.picture_id','=','pictures.id')
    ->group_by('pictures.id')
    ->order_by('votes','desc')
    ->find_all();

これにより、結果として投票数でソートされたすべての写真が表示されます。

于 2010-09-23T12:42:36.067 に答える