Страница 1 из 1

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

Добавлено: 2018.08.10, 22:31
imyapolzovatelya
Отправляю закодированный в 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 заработал?

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

Добавлено: 2018.08.10, 22:54
futbolim
Метод ->all() есть у ActiveQuery

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

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