새 프로젝트에 Laravel 등록을하고 오류 SQLSTATE [HY000] : 일반 오류 : 1364 '로그인'필드에 기본값이 없습니다 (SQL : users
() 값()에 삽입하십시오) 여기 내 코드입니다. 보기 :SQLSTATE [HY000] : 일반 오류 : 1364 'login'필드에 기본값이 없습니다 (SQL : 사용자에 값 삽입())
@extends('app')
@section('content')
<h1>Регистрация</h1>
<form action="/user/" method="post">
{{ csrf_field() }}
<div class="form-group">
<label for="email">Email</label>
<input type="text" class="form-control" id="email" name="email">
</div>
<div class="form-group">
<label for="login">Login</label>
<input type="text" class="form-control" name="login">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" id="password" name="password">
</div>
<div class="form-group">
<label for="password-repeat">Repeat password</label>
<input type="password" class="form-control" id="password-repeat" name="password-repeat">
</div>
<button type="submit" class="btn btn-default">Регистрация</button>
</form>
@stop
컨트롤러 :
public function create()
{
$userConstuctor['login'] = Request::input('login');
$userConstuctor['password'] = Request::input('password');
$user = new User($userConstuctor);
$user->setUser(Request::all());
$user->save();
}
모델 :
<?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;
}
}
테이블 스키마 :
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');
});
내가 dd()
에서 가져온 응답 : - http://joxi.net/823WMQ4f647LX2
당신이 create' 방법'호출하는 방법? 경로도 공유 할 수 있습니까? – C2486
var_dump (Request :: input ('login'))는 나를 보여줍니다 : string (5) "romka" 죄송합니다, 여기에 코드를 너무 많이 넣는 법을 모르겠습니다. 그래서 나는 dd ($ 사용자) 내가 그것을 저장하려고 시도하기 전에 http://joxi.ru/823WMQ4f647LX2 – fruiting