Выборка из двух таблиц с условиями

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
glamurchik
Сообщения: 65
Зарегистрирован: 2011.04.27, 21:39

Выборка из двух таблиц с условиями

Сообщение glamurchik »

Есть таблица стран, модель Country
Countries
id, name

и таблица туров, модель Tours
Tours
id, cid, title, pos

Задача выбрать случайным образом страну и вывести к ней туры в порядке pos
и это все вывести постранично... Запутался в конец...

выводит 39 стран:

Код: Выделить всё

$dp = new CActiveDataProvider('Country', array(
                        'criteria' => array(
                            'with' => array('tours'),
                        ),
                        'sort'=>array('defaultOrder'=>'RAND()'),
        ));
или

выводит 159 туров:

Код: Выделить всё

$dp = new CActiveDataProvider('Tours', array(
                        'criteria' => array(
                            'with' => array('country'),
                        ),
                        'sort'=>array('defaultOrder'=>'pos'),
        ));
к чему что привязывать Туры к Странам или Страны к Турам? :)
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Выборка из двух таблиц с условиями

Сообщение anton44eg »

а зачем вам CActiveDataProvider?
glamurchik
Сообщения: 65
Зарегистрирован: 2011.04.27, 21:39

Re: Выборка из двух таблиц с условиями

Сообщение glamurchik »

интересный вопрос, а что мне подойдет кроме CActiveDataProvider?
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Выборка из двух таблиц с условиями

Сообщение anton44eg »

в каком виде вы выводите?
glamurchik
Сообщения: 65
Зарегистрирован: 2011.04.27, 21:39

Re: Выборка из двух таблиц с условиями

Сообщение glamurchik »

Код: Выделить всё

$groupGridColumns = array('country.name', 'title');
$this->widget('ext.groupgridview.GroupGridView', array(
      'id' => 'aktualno_index',
      'dataProvider' => $dp,
      'extraRowColumns' => array('country.name'),
      //'mergeColumns' => array('country.name'),
      'columns' => $groupGridColumns
    )); 
Виджет отсюда: GroupGridView
glamurchik
Сообщения: 65
Зарегистрирован: 2011.04.27, 21:39

Re: Выборка из двух таблиц с условиями

Сообщение glamurchik »

anton44eg писал(а):а зачем вам CActiveDataProvider?
так может есть другой способ сгруппировать по столбцу?

Страна1
Тур1
Тур2
Тур3
Страна2
Тур1
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Выборка из двух таблиц с условиями

Сообщение anton44eg »

если не нужны сортировки / фильтры / пагинация - то обычным findAll и foreach
Ответить