Задать вопрос
@midiser1

PHP Fatal error: Call to a member function getDisklist() on null in?

Друзья, все привет!
уже голову всю сломал
я не профессиональный программист, но есть понимание того, как, в принципе, все работает, и какие-то легкие правки ocstore 2.3 делаю самостоятельно

возникла необходимость создания быстрого фильтра с индексной страницы сайта, с которой аяксом оправляется пост запрос на страницу контроллера

function changeFilterData() {
         var formData = $("#search_form_wheels").serialize();
         $.ajax({

                 type: "POST",
                 url: "index.php?route=revolution/ajaxfilterdiskov/quickfilter",
                 data: {form_data: formData},


контроллер лежит в соотв папке и называется как нужно, содержит требуемую функцию quickfilter()

<?php
class ControllerRevolutionAjaxfilterdiskov extends Controller {

public function quickfilter() {

    mb_parse_str($_POST['form_data'], $formdata);

    $query = '';

    if ($formdata['razmer'] !='') {
      $query .= ' AND razmer='.$formdata['razmer'];
    }
    if ($formdata['kol-vo-otverstij'] !='') {
      $query .= ' AND otv='.$formdata['kol-vo-otverstij'];
    }
    if ($formdata['pcd'] !='') {
      $query .= ' AND pcd='.$formdata['pcd'];
    }

    $this->load->model('extension/ajaxfilterdiskov');
    $res = $this->model_ajax_filter_diskov->getDisklist($query);


код модели для выборки данных из базы:
class ModelAjaxFilterDiskov extends Model {
  public function getDisklist($qry) {
  	$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "podbor_diskov WHERE id<>0 " . $qry . " ORDER BY id ASC");

  	return $query->row;

	}


на мой взгляд, все вроде ладно.
но обработчик php считает иначе
и выдает ошибку
PHP Fatal error: Call to a member function getDisklist() on null in в файле контроллера

вроде все сделал по схеме, но не работает. буду очень благодарен за помощь в решении вопроса
  • Вопрос задан
  • 41 просмотр
Подписаться 1 Простой 2 комментария
Решения вопроса 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Исходя из этих строчек
$this->load->model('extension/ajaxfilterdiskov');
$res = $this->model_ajax_filter_diskov->getDisklist($query);

и текста ошибки, можно сказать что ваша модель не загрузилась.Либо вы "нарушили схему" =)
Возможно нужно так:
$this->model_ajaxfilterdiskov
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы