Ошибка: слишком мало аргументов для функции campaign :: camp_detls (), 0 передал ровно 1 ожидаемый

у меня есть имя таблицы tbl_campaign_detail, в которой blogger_ID и Campaign_id добавлены как внешний ключ с некоторыми другими полями ..

Я хочу удалить запись из этой таблицы ... когда я выполняю удаление, она удаляет запись, но также выдает ошибку,

ошибка:

Type: ArgumentCountError

Message: Too few arguments to function Campaign::camp_detls(), 0 passed in D:\XAMPP\htdocs\bms\system\core\CodeIgniter.php on line 532 and exactly 1 expected

Filename: D:\XAMPP\htdocs\bms\application\controllers\Campaign.php

Line Number: 35

он работает отлично, но также показывает эту ошибку ...

Вот моя модель:

public function camp_detl_delete($did){

    $this->db->where('detail_id', $did);
    $this->db->delete('tbl_campaign_detail');
    if($this->db->affected_rows() > 0){
        return true;
    }else{
        return false;
    }
}

Контроллер:

public function camp_detl_delete($id){
    $result = $this->cm->camp_detl_delete($id);
    if($result){
        $this->session->set_flashdata('success_msg', 'Record deleted successfully');
    }else{
        $this->session->set_flashdata('error_msg', 'Faill to delete record');
    }
    redirect(base_url('campaign/camp_detls/')); //this should be directed to particular id of camp_detls
}

И посмотреть:

$did = $cmp->detail_id;
<a href="<?php echo base_url('campaign/camp_detl_delete/' .$did); ?>" onclick="return confirm('Do you want to delete this record?');">
                    <span class="glyphicon glyphicon-trash"></span>
                </a>

но там, где отображается ошибка, упомянутая в строке контроллера 35:

function camp_detls($id){
    $data['camps'] = $this->cm->camp_detailByID($id);
    $data['campaign'] = $this->cm->getCampaignsById($id);
    $data['blogger'] = $this->cm->getAllBloggers();
    $data['cat'] = $this->cm->getAllCategory();
    $this->load->view('layout/header');
    $this->load->view('campaign/campaign_detail', $data);
    $this->load->view('layout/footer');
}

Пожалуйста, помогите, как я могу удалить эту ошибку? Я просто хочу, чтобы его просто удалили.

Можете ли вы предоставить код, в котором вы вызываете camp_detls ()? Это метод, к которому относится ошибка.

tanderson 26.10.2018 08:46

Я не понимаю //this should be directed to particular id of camp_detls ... вы говорите, что хотите удалить запись с идентификатором 1, теперь запись удалена, почему вы хотите вернуться к идентификатору 1? его больше нет.

Alex 26.10.2018 09:52

Спасибо, братан ... base_url ('campaign / camp_detls /'. $ Id), это сработало

Aqib Ahmed 26.10.2018 12:07

Алекс на самом деле это внутренняя страница ... внешняя страница также основана на идентификаторе ... поэтому я хочу, чтобы я мог удалить запись и показать страницу ..

Aqib Ahmed 26.10.2018 12:09
0
4
5 138
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Message: Too few arguments to function Campaign::camp_detls(), 0 passed (...)

Эта ошибка означает, что в функцию (camp_detls()), которую вы определили и которая требует $id в качестве аргумента, ничего не было передано.

Полагаю, проблема в строчке:

redirect(base_url('campaign/camp_detls/')); //this should be directed to particular id of camp_detls

как комментарий, предлагающий это, но посмотрите. Здесь вы хотите перенаправить на конкретный camp_detls, но вы не предоставляете $id.

Я добавил сюда обновление, например redirect (base_url ('campaign / camp_detls /', 'refresh')); но теперь он не показывает ошибку и отлично удаляет запись. но когда я нажимаю кнопку удаления, он ничего не делает, пока я не обновлю страницу ...

Aqib Ahmed 26.10.2018 09:21

просто: при нажатии на удаление он удаляет запись, но все еще показывает запись на странице, пока я не обновлю страницу ...

Aqib Ahmed 26.10.2018 09:22

Не могли бы вы попробовать использовать base_url('campaign/camp_detls/' . $id)?

Tomasz 26.10.2018 09:30

Другие вопросы по теме