Обновить массив в codeigniter

У меня есть меню таблицы, содержащее (recipe_id, ингридиент_id, category_id). Я пытался обновить свои ингредиенты, но оно обновляло только один ингредиент_идентификатора. Как это

меню

Вот мой код:

ДИСПЕТЧЕР:

 public function save_edit_recipe()
{

foreach($this->input->post('ingredients') as $key => $value)
{
$menuData[] = array('recipe_id'         => intval($this->input->post('recipe_id')),
'ingredient_id'     => intval($value),
'category_id'       => intval($this->input->post('recipe_category'))
);
}
// var_dump($menuData); die();
$this->products_model->updatemenu($menuData);

МОДЕЛЬ:

  public function updatemenu($data)
{foreach($data as $row => $value)
{
$this->db->where('ingredient_id', $data['ingredient_id']);
$query=$this->db->update('menu', $value);

}return $result;}

1

Решение

Удалить все данные в контроллере и добавить в модель.

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

$this->products_model->updatemenu();

В модели

public function updatemenu()
{
foreach($this->input->post('ingredients') as $key => $value)
{
$menuData = array(
'recipe_id'         => intval($this->input->post('recipe_id')),
'ingredient_id'     => intval($value),
'category_id'       => intval($this->input->post('recipe_category'))
);
$this->db->where('ingredient_id', $value);
$this->db->update('menu', $menuData);
}
}
2

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

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

По вопросам рекламы [email protected]