我打算使用相当于sql的laravel db update。
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']);
答案 0 :(得分:7)
您应该更新您的查询,如:
雄辩查询:
User::where('user_id',1)->update(array(
'username'=>$username,
));
流利的查询:
DB::table('users')->where('user_id',1)->update(array(
'username'=>$username,
));
希望这有助于你
答案 1 :(得分:3)
正确的查询将是
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') );
其中“User”是“users”表的型号名称。
答案 2 :(得分:1)
使用laravel查询构建器执行此操作的更好方法是:
DB::table('users')
->where('user_id', 1)
->update(['username' => $username, 'status' => $status]);
答案 3 :(得分:1)
您正在使用原始查询,可以将其作为
更新用户设置用户名="管理员",状态="有效" 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']));
答案 4 :(得分:0)
调用 DB :: update 的正确方法,你需要这样的东西
$username = "admin";
$status = "active";
DB::update('update users set username = ? , status = ? where user_id = ?', [$username , $status , 1]);
这应该返回受影响的行数