ActiveDataProvider и findBySql

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

ActiveDataProvider и findBySql

Сообщение Nafania »

Есть код

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

$query = SomeModel::findBySql('SELECT * FROM someTable WHERE ' . App::user()->getId() . ' = ANY(someField)');
        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]); 
По этому коду строится грид. Проблема в том, что в гриде не работают сортировки и некорректно считается общее количество записей.
Где проблема?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: ActiveDataProvider и findBySql

Сообщение zelenin »

недостаточно кода
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: ActiveDataProvider и findBySql

Сообщение Nafania »

zelenin писал(а):недостаточно кода
Ну а дальше грид, вот и весь код.

lancedevnull я про Это в курсе, но, смысл актив провайдера именно в том, что он сам за меня все сделать должен. А тут даже запрос на сортировку не строит, хотя столбцы в гриде идут с ссылками для сортировки.
R3D3
Сообщения: 352
Зарегистрирован: 2010.04.11, 14:52

Re: ActiveDataProvider и findBySql

Сообщение R3D3 »

Попробуй так

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

$query = SomeModel::find()->andWhere(App::user()->getId().' = ANY(someField)');
Yii Jabber Conference: yii@conference.jabber.ru
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: ActiveDataProvider и findBySql

Сообщение Nafania »

R3D3 писал(а):Попробуй так

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

$query = SomeModel::find()->andWhere(App::user()->getId().' = ANY(someField)');
Спасибо, так работает.
Ответить