Union внутри $this->get($table); 2.X

 
Посетитель
no avatar
Сообщений: 5
Добрый день.
Может быть кто подскажет как внутри
Код PHP:
  1. $this->get($table);
использовать стандартный UNION запрос для объединения двух таблиц
Допустим есть функция, это упрощенная функция, чтобы просто понять логику, куда и как записывать UNION
Код PHP:
  1.  
  2. public function getSearch($table, $like = false) {
  3. $this->filterLike('pole', $like);
  4. // и здесь дополнительно хочу сделать запрос UNION во вторую базу UNION SELECT `pole`, FROM `table2`
  5. $result = this->get($table);
  6. return $result;
  7. }
  8.  
  9.  
Куда копать, что смотреть. В документации ничего не нашёл((
Редактировалось: 1 раз (Последний: 16 августа 2017 в 15:29)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2657
Alex,
А простой джойн не помогает?
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2553
Alex, пример из модели контента, я думаю, поможет решить вашу задачу помощью join...

Код PHP:
  1. public function getContentProps($ctype_name, $category_id=false){
  2.  
  3. $props_table_name = $this->table_prefix . $ctype_name . '_props';
  4. $bind_table_name = $this->table_prefix . $ctype_name . '_props_bind';
  5.  
  6. if ($category_id){
  7. $this->selectOnly('p.*');
  8. $this->join($props_table_name, 'p', 'p.id = i.prop_id');
  9. $this->filterEqual('cat_id', $category_id);
  10. $this->orderBy('ordering');
  11. $table_name = $bind_table_name;
  12. } else {
  13. $table_name = $props_table_name;
  14. }
  15.  
  16. return $this->get($table_name, function($item, $model){
  17. $item['options'] = cmsModel::yamlToArray($item['options']);
  18. return $item;
  19. });
  20.  
  21. }
Редактировалось: 1 раз (Последний: 16 августа 2017 в 21:10)
Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/
Посетитель
no avatar
Сообщений: 5
Спасибо, join понятен, но хочется разобраться именно с UNION.

zst
Посетитель
small user social cms
Медаль
Сообщений: 653
Alex:
Спасибо, join понятен, но хочется разобраться именно с UNION.

Можно и с UNION, только запрос сами будете писать.

Код PHP:
  1. public function getSearch($table, $like = false) {
  2. $sql = "
  3. select pole1 from {#}poles
  4. where pole = '$like'
  5. UNION
  6. select pole2 from {#}poles2
  7. where pole2 = '$like2'
  8. "
  9.  
  10. $result = $this->db->query($sql);
  11. .......... тут перебор результата через while($item = $this->db->fetchAssoc($result)){
  12.  
  13. return $items;
  14. }
Посетитель
no avatar
Сообщений: 5
Спа @SmartControl, Спасибо
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: