2016-01-29 2 views
1

У меня есть меню таблицы w/c содержит (recipe_id, componentent_id, category_id). Я пытался обновить свои ингредиенты, но только обновил 1 component.id. Как этоОбновление массива в codeigniter

menu

Вот мой код:

CONTROLLER:

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; 


} 
+0

Update без где положение? – devpro

+0

Что такое значения $ this-> input-> post ('components') – devpro

+0

Я попробовал предложение where sir, но все же он обновил только один componentent_id @devpro – MSE

ответ

2

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

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

$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); 
    } 
} 
+0

Проверьте это. Я не уверен на 100%. Перед тем, как проверить, измените свое поле данных, как было раннее, –

+0

все еще только обновляет 1 component_id sir :( – MSE

+0

@shikira. Я отметил ваш комментарий. Вы должны удалить этот тип данных публично. – Tpojka

Смежные вопросы