Как получить параметры из объекта запроса в CakePHP 3

Как я могу получить «params» из объекта запроса в CakePHP 3?

$response = $this->getTable()->find();
// there are beforeFinds...etc that make this more complex

Когда я отлаживаю $responseЯ получаю это (:

// ...
'(help)' => 'This is a Query object, to get the results execute or iterate it.',
'sql' => 'SELECT .... WHERE ... article_id = :c2',
'params' => [
':c0' => [
[maximum depth reached]
],
':c1' => [
[maximum depth reached]
],
':c2' => [
[maximum depth reached]
]
],
// ...

Я хотел бы знать, какова ценность :c2 есть, но я не могу получить params отлаживать.

Я пробовал это:

\Cake\Error\Debugger::log($response->params);
\Cake\Error\Debugger::log($response->params());
\Cake\Error\Debugger::log($response['params']);
\Cake\Error\Debugger::log($response->getParams());
\Cake\Error\Debugger::log($response->getQueryParams());

Но никто не работает.

0

Решение

Увеличив глубину отладки, я смог увидеть дополнительную информацию, в том числе значения :c2

\Cake\Error\Debugger::log($response, 'debug', 4); // default depth is 3
0

Другие решения

Вы должны быть в состоянии получить их через $response->valueBinder()->bindings(),

0

Ты можешь использовать __debugInfo() метод:

$result = $this->Pages->find()->where(['is_public' => 1]);

dd($result->__debugInfo()['params']);
0