Как модель может сохранять данные из контроллера в Codeigniter

У меня есть веб-приложение, которое должно отправлять сообщения многим друзьям, но у меня возникла ошибка ... пожалуйста, помогите мне ....

Вот мой контроллер

public function message(){

$this->form_validation->set_rules('message','Message', 'required');
$this->form_validation->set_rules('friend_id[]','Recipients', 'required');
if ($this->form_validation->run()){
     $data = $this->input->post("friend_id[]");
    unset($data['submit']);
    $this->load->model('Queries');
    $message=$this->Queries->saveMessage();
    if ($message){
    echo "Success";
    }else{
    echo "error";
    }

     }
     else{ 
     echo validation_errors();
        }
     }

Это моя модель

 public function saveMessage($data){
     $i=0;
     foreach($data['friend_id'] as $friend_id){

          $record = array(
          'friend_id' => $friend_id,
          'message' => $data['message']
          );
          $this->db->insert('tbl_messages', $record);
          $i++;
             }
              return $data;
          }

Когда я запускаю его ... отображается ошибка, и данные не вставляются в базу данных

замените $message=$this->Queries->saveMessage(); на $message=$this->Queries->saveMessage($data); в методе вашего контроллера

Pradeep 24.07.2018 11:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
634
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Надеюсь, что это поможет вам :

Ваш метод контроллера message() должен быть таким:

public function message()
{
    $this->form_validation->set_rules('message','Message', 'required');
    $this->form_validation->set_rules('friend_id[]','Recipients', 'required');
    if ($this->form_validation->run())
    {
        $friend_ids = $this->input->post("friend_id[]");
        $message = $this->input->post("message");
        unset($data['submit']);
        $this->load->model('Queries');
        $insert = $this->Queries->saveMessage($friend_ids, $message);
        if ($insert)
        {
            echo "Success";
        }
        else
        {
            echo "error";
        }
     }
     else
    { 
     echo validation_errors();
    }
}

Ваш модельный метод saveMassage() должен быть таким:

public function saveMessage($friend_ids , $message)
{
    foreach($friend_ids as $friend_id)
    {
        $record = array('friend_id' => $friend_id,'message' => $message);
        $this->db->insert('tbl_messages', $record);
    }
    return true;
}

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