У меня есть меню таблицы, содержащее (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;}
Удалить все данные в контроллере и добавить в модель.
В контроллере
$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);
}
}
Других решений пока нет …