передать объект query через ajax

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
imyapolzovatelya
Сообщения: 16
Зарегистрирован: 2018.03.02, 09:19

передать объект query через ajax

Сообщение imyapolzovatelya » 2018.08.10, 22:31

Отправляю закодированный в json_decode() объект query (через аякс).
в контроллере код такой:

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

public function actionTest{
      $query = json_decode($_POST['encoded_query']);
      print_r($query);
}
print_r выдает:
stdClass Object
(
[sql] =>
[on] =>
[joinWith] =>
[select] =>
[selectOption] =>
[distinct] =>
[from] =>
[groupBy] =>
[join] =>
[having] =>
[union] =>
[params] => Array
(
)

[queryCacheDuration] =>
[queryCacheDependency] =>
[where] => Array
(
[0] => !=
[1] => status
[2] => 4
)

[limit] => 5
[offset] =>
[orderBy] =>
[indexBy] =>
[emulateExecution] =>
[modelClass] => app\models\Book
[with] =>
[asArray] =>
[multiple] =>
[primaryModel] => stdClass Object
(
)

[link] => stdClass Object
(
[user_id] => id
)

[via] =>
[inverseOf] =>
)


$query->limit выдает 5, тут ок.
Но $query->all() не работает, выдает Call to undefined method stdClass::all()

Можно ли как то сделать, чтобы этот query заработал?

Аватара пользователя
futbolim
Сообщения: 1951
Зарегистрирован: 2012.07.08, 19:28
Откуда: Донецк

Re: передать объект query через ajax

Сообщение futbolim » 2018.08.10, 22:54

Метод ->all() есть у ActiveQuery
Все говорят, что нужно кем-то мне становиться.
А я хотел бы остаться собой.

imyapolzovatelya
Сообщения: 16
Зарегистрирован: 2018.03.02, 09:19

Re: передать объект query через ajax

Сообщение imyapolzovatelya » 2018.08.11, 03:33

разобрался. Надо было serialize использовать, а не json_encode().
Объект пришел целенький, рабочий :)

Ответить