我有要求:
+request: ParameterBag {#43 ▼
#parameters: array:9 [▼
"fam" => "tr"
"im" => "fd"
"ot" => "ffff"
"phone" => "ва"
"log" => "44"
"log2" => "aaaaaaaaaaaaaaaaaaa"
"pass" => "aaaaaaaaaaaaaa"
"Регистрация" => null
"_token" => "T2eaYlfdTtWoAsAivf06UegUxCknxahR6jRQOyd4"
]
}
功能:
public function UserChange2(Request $request){
dump($request);
$data=$request->all();
$log = $request->input('log');
dump($log);
$user=userModel::select(['fam','im','ot','phone','log','pass'])->where('log',$log)->first();
dump($user);
$user->fill($request->all())->save();
dump($user);
$user->save;
}
用户模型。
class userModel extends Model
{
public $timestamps = false;
protected $fillable=['fam','im','ot','phone','log','pass','reg','token','date','position'];
}
但是不能,$user->fill($request->all())->save()
因为在我的请求中有内容“log2”(用于数据库中的搜索用户)。我如何搜索和更新模型?
如果您不想将其新值保存到数据库中,我有点好奇为什么该变量存在,无论如何,这里是您如何使 laravel 忽略这个额外变量的方法 - 通过使用except()
. 您可以过滤掉不需要的参数,而不是all()
使用except()
这种方式,返回所有其他内容。
public function UserChange2(Request $request){
$data = $request->all();
$log = $request->input('log');
$user=userModel::select(['fam','im','ot','phone','log','pass'])->where('log',$log)->first();
$user->fill($request->except('log2'))->save();
dump($user);
$user->save;
}
如果您碰巧有多个要忽略的变量,您可以将它们添加到数组中 except(['log2', 'log3','log4'])
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句