Я пытаюсь выяснить, как передать параметр в контроллер, используя _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 и большое спасибо за любые подсказки и помощь.