Php SQLSTATE[HY000]:一般错误:1364字段';登录';不';没有默认值(SQL:insert-into'users`()值())
我正在注册我在Laravel上的新项目,结果出现了一个错误 SQLSTATE[HY000]:一般错误:1364字段“login”没有默认值(SQL:insert intoPhp SQLSTATE[HY000]:一般错误:1364字段';登录';不';没有默认值(SQL:insert-into'users`()值()),php,laravel-5,eloquent,Php,Laravel 5,Eloquent,我正在注册我在Laravel上的新项目,结果出现了一个错误 SQLSTATE[HY000]:一般错误:1364字段“login”没有默认值(SQL:insert intousers()值()) 这是我的密码。 视图: 型号: <?php namespace App; use Illuminate\Database\Eloquent\Model; use Session; class User extends Model { const ADMIN = 1; const MANAGER
users
()值())
这是我的密码。
视图:
型号:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Session;
class User extends Model
{
const ADMIN = 1;
const MANAGER = 2;
const USER = 3;
public $login;
public $password;
private $email;
private $firstName;
private $secondName;
private $lastName;
private $avatar;
private $userOptions = [];
private $createdDate;
private $rememberToken;
private $active;
private $groupId;
public $timestamps = false;
protected $fillable = ['login', 'password', 'email', 'created_date', 'remember_token', 'active', 'group_id'];
protected $table = 'users';
public function __construct($userConstuctor)
{
$this->setLogin($userConstuctor['login']);
$this->setPassword($userConstuctor['password']);
}
public function setUser($user)
{
$this->setEmail($user['email']);
$this->setCreatedDate();
$this->setRememberToken($user['_token']);
$this->setActive();
$this->setGroupId();
}
private function setLogin($login)
{
$this->login = $login;
}
private function setPassword($password)
{
$this->password = md5($password);
}
private function setEmail($email)
{
$this->email = $email;
}
private function setCreatedDate()
{
$this->createdDate = date('Y-m-d H:i:s');
}
private function setRememberToken($token)
{
$this->rememberToken = $token;
}
private function setActive()
{
$this->active = false;
}
private function setGroupId()
{
$this->groupId = self::USER;
}
}
我从dd()
得到的响应:-
您收到此错误,因为您的查询在表中没有要插入的内容 另外,我需要知道您是否需要从多个控制器创建用户 试试这个
public function create(Request $request)
{
$userConstuctor['login'] = $request->login;
$userConstuctor['password'] = $request->password;
$user = new User();
$user->login = $request->login;
$user->password = $request->password;
/*and so on....*/
$user->save();
}
出现此错误是因为您的查询在表中没有要插入的内容 另外,我需要知道您是否需要从多个控制器创建用户 试试这个
public function create(Request $request)
{
$userConstuctor['login'] = $request->login;
$userConstuctor['password'] = $request->password;
$user = new User();
$user->login = $request->login;
$user->password = $request->password;
/*and so on....*/
$user->save();
}
如何调用
create
方法?同样共享路由?var_dump(Request::input('login'))向我显示:string(5)“romka”对不起,我不知道如何在这里放这么多代码,所以在我试图保存dd($user)之前,我已经画了一张图,你是如何调用create
方法的?也共享路由?var_dump(Request::input('login'))显示:string(5)“romka”对不起,我不知道如何在这里放这么多代码,所以我已经制作了一张dd($user)的图片在我试图保存它之前,我尝试了您的代码,但我仍然有相同的错误,我想从一个控制器创建用户,从另一个控制器创建管理员和管理者,如果它对您影响不大,并且没有必要使用像setUser()这样的函数所有你可以遵循简单直接的方法,就像我在我的回答中编辑的那样我尝试了你的代码,但是我仍然有相同的错误,我想从一个控制器创建用户,从另一个控制器创建管理员和管理者,如果它对你影响不大,并且没有必要使用像setUser()这样的函数你可以遵循我在回答中编辑的简单直接的方法
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('login')->unique();
$table->string('email')->unique();
$table->string('password');
$table->string('first_name')->nullable();
$table->string('second_name')->nullable();
$table->string('last_name')->nullable();
$table->string('avatar', 250)->nullable();
$table->longText('user_options')->nullable();
$table->timestamp('created_date');
$table->boolean('active');
$table->rememberToken('token');
$table->integer('group_id');
});
public function create(Request $request)
{
$userConstuctor['login'] = $request->login;
$userConstuctor['password'] = $request->password;
$user = new User();
$user->login = $request->login;
$user->password = $request->password;
/*and so on....*/
$user->save();
}