2013-07-16 72 views
3

我被困在代碼中。我設法創建了一個表單,它在db中添加了多個行,但我不知道如何在需要使用product_code作爲id的同時更新它們。如何一次更新同一個值的多個行和數據庫? Laravel

這是表1(產品)的結構:

id | product_name | product_code 
1 | Name1  | 101 
2 | Name2  | 102 
3 | Name3  | 103 
4 | Name4  | 104 

這是表2(products_ing)結構:

id | product_code | ing_name | ing_weight 
1 | 101   | INGName1 | 110 
2 | 101   | INGName2 | 10 
3 | 101   | INGName3 | 54 
4 | 101   | INGName4 | 248 

這是編輯功能:

public function post_edit($id = null) 
{ 

    if(Input::get('submit')) 
    { 
     // ID 
     if($id !== null) 
     { 
      $id = trim(filter_var($id, FILTER_SANITIZE_NUMBER_INT)); 
     } 


     $input = Input::all(); 

     $validation = Validator::make($input); 

     else 
     { 
      foreach ($input as $key => $value) 
      { 
       $input[$key] = ($value !== '') ? trim(filter_var($value, FILTER_SANITIZE_STRING)) : null; 
      } 

      try 
      { 

       DB::table('products') 
        ->whereIn($id) 
        ->update(array(
      'product_name'   => $items['product_name'], 
      'product_code'   => $items['product_code'] 
       )); 


      } 

    } 

    return $this->get_edit($id); 
} 

With th是我只能編輯* product_name *和產品代碼產品表格編號。 但我試圖從數據庫更新多個行相同product_code將作爲id。

//我在谷歌圖像中找到一個良好的形象,說明我想要做的,但與Laravel:

IMAGE LINK

有沒有解決方案?先謝謝你!

回答

0

假設您正在使用MySQL:讓數據庫的foreign key爲您執行此操作,使用ON UPDATE CASCADE命令。這將更新所有參考表,如果您更改products表中的product_code

創建腳本的products_ing

... 
product_code INT NOT NULL REFERENCES products(product_code) ON UPDATE CASCADE 
... 

由於laravel migration

Schema::create('products_ing', function($table) { 
    $table->increments('id'); 
    $table->int('product_code'); 
    $table->string('ing_name'); 
    $table->int('ing_weight'); 

    /* All the other key stuff */ 
    $table 
     ->foreign('product_code') 
     ->references('product_code') 
     ->on('products') 
     ->onUpdate('cascade'); 
}); 
+0

我的等待表示歉意。這次真是萬分感謝。這很好,但並不是我所需要的。就像你說的那樣:「如果你更改了基本產品表中的product_code,這將更新所有引用的表。」_我沒有很好地提出問題,我對此表示歉意。我用更多的細節更新了這個問題。我試圖從數據庫更改多個行與相同的** product_code **,將作爲身份證,現在我知道只編輯一列與一個ID ... – Alex

相關問題