Всем привет!
Мне нужно немножко модифицировать запрос к базе данных, в начале я попытался вывести ответ текущего запроса и впал в недоразумение, собственно поэтому я и создал эту тему.
Перейдем к сути, в файле catalog/model/catalog/category.php я нашел такую функцию:
public function getCategories($parent_id = 0) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");
return $query->rows;
/* Завардампил для вывода массива */
/*
echo '<pre>';
var_dump($query->rows);
echo '</pre>';
*/
}
Она возвращает нужные категории товаров и вызывается в соответствующем контроллере.
В результате, я получил ответ такого типа:
array(1) {
[0]=>
array(18) {
["category_id"]=>
string(3) "263"
["image"]=>
string(37) "catalog/megamenu/mozaika po mater.jpg"
["parent_id"]=>
string(2) "59"
["top"]=>
string(1) "0"
["column"]=>
string(1) "1"
["sort_order"]=>
string(1) "0"
["status"]=>
string(1) "1"
["date_added"]=>
string(19) "2016-04-03 13:37:15"
["date_modified"]=>
string(19) "2017-04-08 04:36:11"
["language_id"]=>
string(1) "1"
["name"]=>
string(23) "По материалу"
["description"]=>
string(0) ""
["description_dop"]=>
string(0) ""
["meta_title"]=>
string(49) "Выбор мозаики по материалу"
["meta_h1"]=>
string(0) ""
["meta_description"]=>
string(49) "Выбор мозаики по материалу"
["meta_keyword"]=>
string(0) ""
["store_id"]=>
string(1) "0"
}
array(5) {
[0]=>
array(18) {
["category_id"]=>
string(2) "59"
["image"]=>
string(19) "catalog/mozaika.jpg"
["parent_id"]=>
string(1) "0"
["top"]=>
string(1) "1"
["column"]=>
string(1) "1"
["sort_order"]=>
string(1) "1"
["status"]=>
string(1) "1"
["date_added"]=>
string(19) "2014-05-08 05:15:49"
["date_modified"]=>
string(19) "2017-08-06 20:11:35"
["language_id"]=>
string(1) "1"
["name"]=>
string(14) "Мозаика"
["description"]=>
string(1123) "<p></p>
}
array(5) {
[0]=>
array(18) {
["category_id"]=>
string(2) "59"
["image"]=>
string(19) "catalog/mozaika.jpg"
["parent_id"]=>
string(1) "0"
["top"]=>
string(1) "1"
["column"]=>
string(1) "1"
["sort_order"]=>
string(1) "1"
["status"]=>
string(1) "1"
["date_added"]=>
string(19) "2014-05-08 05:15:49"
["date_modified"]=>
string(19) "2017-08-06 20:11:35"
["language_id"]=>
string(1) "1"
["name"]=>
string(14) "Мозаика"
["description"]=>
string(1123) "<p></p>
}
3 массива в ответе которые как бы сами по себе, т.е. на var_dump($query->rows[0]), var_dump($query->rows[1])
они по отдельности не выводятся. Что это вообще такое и как я могу достать первый из этих трех массивов.
Может быть я чего-то не понимаю но функция $query = $this->db->query();
исполняет запрос к бд и записывает ответ в переменную $query.