Как проверить запрос на представление сетки?
Я могу получить базовый запрос для данного представления сетки, вызвав var_dump
в Mymodule_Block_Adminhtml_Myaction_Grid
protected function _prepareCollection() {
...
var_dump($collection->getSelect()->__toString());
$this->setCollection($collection);
return parent::_prepareCollection();
}
...но это возвращает "базовый" запрос до того, как будут применены какие-либо разбивки на страницы или фильтры при создании представления сетки. Я хотел бы иметь возможность изучить запрос, который фактически используется для создания определенного представления сетки. Причина в том, что при выполнении этого базового запроса в MySQL возвращает результаты, которые я ожидал бы, представление сетки в Magento этого не делает, и я хотел бы посмотреть, что на самом деле в использовать.
Есть идеи?
1 answers
Вы можете запустить getSelect при сборе в любой момент. Отобразите его непосредственно ПЕРЕД отображением разбиения на страницы (в файле .phtml). Не забывайте, что многие функции используют объекты в качестве ссылки, и хотя это выглядит как просто параметр, эти функции фактически обновляют коллекцию, которая передается им.