2017-06-15 78 views
0

我打算使用相當於sql的laravel db update。DB :: update laravel 5原始查詢

update users set username = "admin", status = "active" where user_id = 1 

這是我測試運行的查詢。任何錯誤?

$username = "admin"; 
$status = "active"; 

DB::update('update users set username = ' .$username. ', 
status = '.$status.' where user_id = ?' ,['1']); 

回答

1

更好的方式來做到這一點與laravel查詢生成器:

DB::table('users') 
    ->where('user_id', 1) 
    ->update(['username' => $username, 'status' => $status]); 
0

正確的方式來調用DB ::更新你需要像這樣

 $username = "admin"; 
     $status = "active"; 
     DB::update('update users set username = ? , status = ? where user_id = ?', [$username , $status , 1]); 

這應該返回受影響的行數

0

您正在使用原始曲線ERY,它可以作爲

更新用戶設置的用戶名= 「管理」 來完成,狀態= 「活動」,其中USER_ID = 1

DB::table('users') 
->where('user_id',1) 
->update(['username'=>'admin','status'=>'active']); 

OR

$username = "admin"; 
$status = "active"; 

DB::update(DB::RAW('update users set username = ' .$username. ', 
status = '.$status.' where user_id = ?' ,['1'])); 
1

正確的查詢是

DB::update('update users set username = ? , status = ? where user_id = ?', ["admin" , "active" , 1]); 

OR

User::where('user_id', 1)->update(array('username'=>'admin', 'status'=>'active')); 

其中「用戶」是「用戶」表的型號名稱。

3

您應該更新您的查詢,如:

雄辯查詢:

User::where('user_id',1)->update(array(
         'username'=>$username, 
)); 

流利查詢:

DB::table('users')->where('user_id',1)->update(array(
           'username'=>$username, 
)); 

希望這有助於你

+0

@TAN建慧如果我的答案是我那麼請您接受我的答案。 –