SQLSTATE[HY000]:一般错误:1364 字段“名字”没有默认值

我是 Laravel 框架的新手。


我遇到了用户表迁移的问题。我向表的“firstname”添加了 nullable,这有效但对“lastname”列显示相同的错误。我已将 nullable() 添加到每一列,这不是正确的方法。这个怎么解决??任何人都可以请建议。


用户迁移表,面临“名字”列的问题。 创建用户表.php


public function up()

{

    Schema::create('users', function (Blueprint $table) {

        $table->id();

        $table->string('firstname');

        $table->string('lastname');

        $table->string('email')->unique();

        $table->date('dob');

        $table->char('address',100);

        $table->bigInteger('phonenumber');

    });

}

UserController 与商店 UserController.php


    public function store(Request $request)

        {

            $request->validate([

                'firstname'=>'required',

                'lastname'=>'required',

                'email'=>'required',

            ]);


            $user=new User([

                $user->firstname=>$request->get('firstname'),

                'lastname'=>$request->get('lastname'),

                'email'=>$request->get('email'),

                'dob'=>$request->get('dob'),

                'address'=>$request->get('address'),

                'phonenumber'=>$request->get('phonenumber')

                ]);

                $user->save();

                return redirect('/users')->with('success','user added');

        }


繁花不似锦
浏览 165回答 2
2回答

白板的微信

实现这一目标的最简单方法是:   public function store(Request $request)    {        $request->validate([            'firstname'=>'required',            'lastname'=>'required',            'email'=>'required',        ]);            $user=new User();            $user->firstname = $request->firstname;            $user->lastname = $request->lastname;            $user->email = $request->email;            $user->dob = $request->dob;            $user->address = $request->address;            $user->phonenumber = $request->phonenumber;            $user->save();            return redirect('/users')->with('success','user added');    }同样在您的模型中,您必须添加此行以进行质量分配protected $fillable = ['firstname','lastname','email','dob','address','phonenumber'];

炎炎设计

您发布的代码中存在错误,这是修复方法:public function store(Request $request)        {            $request->validate([                'firstname'=>'required',                'lastname'=>'required',                'email'=>'required',            ]);            $user=new User([                'firstname' => $request->get('firstname'), // $user->firstname=>$request->get('firstname'),                'lastname'=> $request->get('lastname'),                'email' => $request->get('email'),                'dob' => $request->get('dob'),                'address' => $request->get('address'),                'phonenumber' => $request->get('phonenumber')                ]);                $user->save();                return redirect('/users')->with('success','user added');        }同样在这里,您正在使用质量分配,因此您应该将所有使用的列添加到用户模型中的可填充数组中。
打开App,查看更多内容
随时随地看视频慕课网APP