外部テーブルの値を使用してORMで並べ替え(または並べ替え)する方法はありますか?
次のようなことができますか?
ORM::factory("table")->order_by("table.foregin_table.column" , "ASC")
または、通常のMySQLを使用して、古い学校のテーブルを結合する必要がありますか?
外部テーブルの値を使用してORMで並べ替え(または並べ替え)する方法はありますか?
次のようなことができますか?
ORM::factory("table")->order_by("table.foregin_table.column" , "ASC")
または、通常のMySQLを使用して、古い学校のテーブルを結合する必要がありますか?
もちろん可能です。たとえば、私は写真付きの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();
これにより、結果として投票数でソートされたすべての写真が表示されます。