Как модель может сохранять данные с контроллера в 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;
}

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

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;
}
1

Другие решения

Других решений пока нет …