Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

orm-union для Kohana 3.3 (SQL UNION ALL)
http://forum.kohanaframework.su/viewtopic.php?f=20&t=835
Страница 1 из 1

Автор:  invision [ 22 июн 2014, 17:41 ]
Заголовок сообщения:  orm-union для Kohana 3.3 (SQL UNION ALL)

Модуль позволяет объединять ORM объекты посредствам SQL UNION ALL запроса
https://github.com/Invision70/kohana-orm-union

Меньше слов, взгляните на код :)

$order = ORM::factory('Order')->where('user_id', '=', 1);
$forwarding = ORM::factory('Forwarding')->where('user_id', '=', 1);

// initial arguments: (union ORM objects, select columns for SQL UNION ALL)
$union = ORM_Union::initial([$order, $forwarding], ['created'])->order_by('created', 'desc'); // Query Builder for SQL UNION ALL
$total = $union->count_all();
$result = $union->limit(10)->find_all();

foreach ($result as $object)
{
var_dump(get_class($object)); // ORM loaded object
}

// result
string(11) "Model_Order"
string(16) "Model_Forwarding"
string(11) "Model_Order"
string(11) "Model_Order"
string(11) "Model_Order"
string(16) "Model_Forwarding"
string(11) "Model_Order"
string(16) "Model_Forwarding"
string(16) "Model_Forwarding"
string(11) "Model_Order"

// 4 SQL query (3 without count_all)

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/