2017-11-25 8 views
0

は、私は、データベースに挿入単語の簡単な関数を持っている:LaravelでWHEREを使用して空のフィールドの値と値を挿入した後にテーブルを更新する方法はありますか?

public function insertNewWords($array) 
{ 
    foreach ($array as $key => $value) { 
     DB::transaction(function() use ($value) { 
      DB::table('words')->updateOrInsert(['word' => $value], ['word' => $value]); 
     }); 
    } 
} 

そして、私は言葉の説明を単純な配列を持っている:私はupdateOrInsert()where()を使用して、データベースにこの配列を追加することができますどのように

$array = array('apple' => 'fruit', 'banana' => 'vegetable'); 

。 私のテーブルには単語だけがあり、説明文を持つフィールドは空です(デフォルトはnull)。私は単純なクエリに必要があります。UPDATE words(description) SET description = $description WHERE word = $word;

+0

値。 – C2486

+1

あなたがしたいことは明確ではありませんか? – C2486

答えて

0

説明値を追加します。更新クエリで行方不明

public function insertNewWords($array) 
{ 
    // descriptions array with word as key 
    $descriptions = array('apple' => 'fruit', 'banana' => 'vegetable'); 

    foreach ($array as $key => $word) { 
     DB::transaction(function() use ($word) { 

      DB::table('words')->updateOrInsert(['word', 'description'], [$word, $descriptions[$word]]); 

     }); 
    } 
} 
0
public function insertNewWords($array) 
{ 
    foreach ($array as $word => $description) { 
     DB::transaction(function() use ($word, $description) { 
      DB::table('words')->updateOrInsert(['word' => $word], ['description' => $description]); 
     }); 
    } 
} 
0
foreach ($array as $key => $value) { 
    DB::transaction(function() use ($key, $value) { 
     DB::table('words')->where('word', $value)->update(['description' => $key]); 
    }); 
} 
関連する問題