В сообщении об ошибке четко указано, что число аргументов меньше аргументов, требуемых вашей индексной функцией в контроллере назначений. Чтобы сделать аргумент необязательным, присвойте ему несколько значений по умолчанию, например:
public function index($id = NULL){
// your code here
}
Теперь вы вызываете этот метод с параметром или без него.
Еще одна вещь, которую вы должны знать: метод индекса по умолчанию для этого контроллера , означает, что если вы вызываете свой контроллер в config / маршруты. php без какого-либо метода, метод индекса вызывается по умолчанию. Такие как:
$route['yourController'] = 'yourController';
http://yourDomain/yourController, в этом случае метод индекса вызывается по умолчанию.
ИЛИ
$route['yourController/(any:)'] = 'yourController/$1';
В этом случае метод индекса будет вызываться с параметром.