Это было бы что-то вроде:
$subquery = DB::select('u.id')
->from(array('fb_relations','f'), array('users','u'))
->where('f.user1','=','515683059')
->where('u.fb_uid','=','f.user2');
$results = ORM::factory('user')
->select('uq.*')
->join(array('u_question','uq'))
->on('uq.asked_by','=','users.id')
->where('uq.asked_by','IN',$subquery)
->group_by('asked_by')
->find_all();
Я не могу гарантировать, что это сработает.Обратите внимание, что модели ORM всегда выбирают все из соответствующей таблицы (например, таблицы. *), Добавляя «обычный» из (), поэтому лучше использовать «строгие» соединения вместо использования из () дляуказание дополнительной таблицы.
А что касается подзапросов, вы можете создавать их таким же образом или напрямую с помощью строкового объекта Database_Query без построителя запросов (я бы не использовал его в этом случае).* Вы должны прочитать документы