Как передать параметр в контроллер в Codeigniter с помощью _remap - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь выяснить, как передать параметр в контроллер, используя _remap в Codeigniter.

Мне нужно передать параметр Numberri c в метод индекса в контроллере, поэтому я добавил следующее функция переназначения в контроллер:

function _remap($method, $params = array())
{
    if (method_exists($this, $method))
    {

        return call_user_func_array(array($this,$method), $params);

    }
    else
    {
        $this->index($method);
    }
}

Итак, я успешно передал параметр в метод индекса, используя:

public function index($param = NULL)
{
    $this->data['parameter'] = $param;

}

Проблема возникает с другим методом в контроллере, например:

 public function get_record($tid = NULL)
{

    if($model = $this->model->get_data($tid))
    {

        $data['status'] = TRUE;
        $data['error'] = FALSE;
    }
    else
    {
        $data['status'] = FALSE;
        $data['error'] = TRUE;
        $data['toastmsg'] = 'Model not found.';   
    }
    echo (json_encode($data));
}

Не возвращает значение, потому что параметр пуст ... поэтому я попытался использовать следующий измененный код, обратите внимание на массив для передачи параметра:

public function get_record($param = NULL)
{
    $tid = $param[0]
    if($model = $this->model->get_data($tid))
    {

        $data['status'] = TRUE;
        $data['error'] = FALSE;
    }
    else
    {
        $data['status'] = FALSE;
        $data['error'] = TRUE;
        $data['toastmsg'] = 'Model not found.';   
    }
    echo (json_encode($data));
}

В приведенный выше код работает ... но возникает другая проблема ... если параметр представляет собой просто одно число .. нет проблем (1 ... или 2 ... или 3 ... и т. д. до 9), но большее число, чем 9, не передается ... только первая цифра. Так, например ... параметр 234 передается как 2.

Надеюсь, я объяснил проблему, извините за плохой engli sh и большое спасибо за любые подсказки и помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...