【问题标题】:Laravel Stapler ,Working on User::create but not on updateLaravel Stapler,正在处理 User::create 但不更新
【发布时间】:2015-04-24 00:26:36
【问题描述】:

在我的控制器中添加表单

        public function add()
        {
            $input = Input::all();
            $validator = Validator::make( $input, User::$rules['create'] ); # Or User::$rules['create']
       if ( $validator->fails() ) {
        return "failure";
        }
                else{          
                return User::create(Input::all());  
                }

        }

在 m 控制器中的表单编辑中

        public function edit()
        {
         $input = Input::all();
        $validator = Validator::make( $input, User::$rules['edit'] ); # Or User::$rules['create']
       if ( $validator->fails() ) {
        return "failure";
        }
                else{
                    $user=new User();
                        $user->find(1);
            $user->update(Input::all());  
                }

        }

在用户模型中

protected $fillable = ['name', 'email', 'password','role','position','mobile_number','picture','facebook','twitter','instagram','linkedin','avatar'];
public function __construct(array $attributes = array()) {
        $this->hasAttachedFile('avatar', [
            'styles' => [
                'medium' => '300x300',
                'thumb' => '100x100'
            ],

                        'url' => '/uploads/:attachment/:id_partition/:style/:filename',
            'default_url' => '/uploads/defaults/:style/missing.png'
        ]);

        parent::__construct($attributes);
    }

此代码适用于添加新用户,但显示错误

Column not found: 1054 Unknown column 'avatar' in 'field list 

我在用户表中有必填字段,并且在User::create 上一切正常

已编辑:这是我的 dd($user) http://pastebin.com/4e3HSusG

【问题讨论】:

  • 如果您在应用更新之前使用 dd($user) 打印 $user 对象,您会看到字段头像吗?
  • 这里是sql错误中的附加错误信息(SQL:更新users设置id=3,name=Suhass,email=suhas@gmail.com,password= Y $ Qek8MBiKnW443wQmvp8bjeFHfErUlW6W679zzQhfzi7ODQ1AZ / 2-MI,mobile_number = 9999999999,role =管理员,position = Web开发,facebook =,twitter =,instagram =,linkedin =,avatar = C :\wamp2015\tmp\phpAC0A.tmp, updated_at = 2015-04-24 10:19:57) 非常感谢您的回复这里是我的转储数据pastebin.com/4e3HSusGi

标签: php laravel-5


【解决方案1】:

从不同的线程得到解决方案

$user = User::find(1);
$user->update(Input::except('avatar'));
$user->avatar = Input::file('avatar');

【讨论】:

    猜你喜欢
    • 2019-09-17
    • 1970-01-01
    • 2020-05-07
    • 2016-11-19
    • 2016-01-17
    • 2020-07-16
    • 2015-08-26
    • 2016-09-01
    • 1970-01-01
    相关资源
    最近更新 更多