首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel条件质量分配

Laravel条件质量分配
EN

Stack Overflow用户
提问于 2014-09-29 18:37:48
回答 1查看 835关注 0票数 0

当使用大量赋值调用User->update($data)时,是否可以仅在传入用户密码时设置用户密码?

查看:

代码语言:javascript
复制
<form>
    <input type="text" name="name">
    <input type="text" name="email">
    <input type="password" name="password">
    <input type="submit">
</form>

型号:

代码语言:javascript
复制
<?php
class User extends Eloquent {            

    public static $rules = [
        'name' => 'required:max:32',
        'email' => 'required|max:128'
        'password' => 'min:8|max:128'
    ];

    // Allow mass-assignment for:
    protected $fillable = ['name', 'email', 'password'];

    // The attributes excluded from the model's JSON form.         
    protected $hidden = ['password', 'remember_token'];

}

主计长:

代码语言:javascript
复制
class UsersController extends BaseController {

    public function update($id)
    {
        $user = User::findOrFail($id);    
        $validator = Validator::make($data = Input::all(), User::$rules);

        if ($validator->fails())
            return Redirect::back()->withErrors($validator)->withInput();

        $user->update($data); // How do I only update password if password was passed in?
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-29 19:04:48

你应该使用:

代码语言:javascript
复制
$user->password = Hash::make(Input::get('password')); 

$user->save();

而不是:

代码语言:javascript
复制
$user->update($data);

要只更新用户密码,请执行以下操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26106580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档