Я не понимаю, почему вызывается "вызов неопределенного метода CI_Input () :: event ()" - PullRequest
0 голосов
/ 24 апреля 2020

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

Это моя функция создания в моем контроллере, 'События. php':


    public function create(){
        $data['title'] = 'Create Event';

        $this->form_validation->set_rules('title', 'Title', 'required');
        $this->form_validation->set_rules('description', 'Description', 'required');
        $this->form_validation->set_rules('location', 'Location', 'required');
        $this->form_validation->set_rules('date', 'Date', 'required');
        $this->form_validation->set_rules('time', 'Time', 'required');

        if($this->form_validation->run() === FALSE){
            $this->load->view('templates/header');
            $this->load->view('events/create', $data);
            $this->load->view('templates/footer');
        } else {
            $this->Event_model->create_event();
            redirect('events');
        }

    }

, а затем это моя функция create_event в моей «Event_model», чтобы попытаться создать новый объект записи (?), а затем добавить его в базу данных:


    public function create_event(){
            $slug = url_title($this->input->event('title'));

            $data = array(
                'title' => $this->input->event('title'),
                'description' => $this->input->event('description'),
                'date' => $this->input->event('date'),
                'time' => $this->input->event('time'),
                'location' => $this->input->event('location'),
                'slug' => $slug,
                'invitees' => $this->input->event('invitees')
            );

            return $this->db->insert('events', $data);
        }

Мне выдается ошибка:

Message: Call to undefined method CI_Input::event()

из в первый раз, когда я пытаюсь вызвать 'event' в функции create_event(), когда пытаюсь присвоить значение $slug.

Я понимаю, что я не инициализировал 'event' в функции create как объект (или метод?), прежде чем я пытаюсь ссылаться на него, но я только пытаюсь извлечь значения из формы и передать их в базу данных,

В руководстве, которому я следую, они не получают такого ошибка

Любая помощь будет с благодарностью

1 Ответ

0 голосов
/ 24 апреля 2020

В нет метода event() Класс ввода . Вы должны использовать post() или get() методы.

'title' => $this->input->post('title')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...