使用Kohana ORM按外表值排序

Nav*_*etz 4 mysql orm kohana kohana-3 kohana-orm

有没有办法通过使用外表中的值在ORM中排序(或排序)?

你可以做以下的事情:

ORM::factory("table")->order_by("table.foregin_table.column" , "ASC") 
Run Code Online (Sandbox Code Playgroud)

或者你是否必须使用一些常规的MySQL并将旧表加入表中?

Kar*_*yst 6

当然有可能.例如,我有两张表格,图片和投票的关系是一对多的.假设我想按照投票数对照片进行排序,以获得最受欢迎的照片.它会:

$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();
Run Code Online (Sandbox Code Playgroud)

这将根据结果以所选票数排序所有图片.