Inu*_*Aji 1 php sqlite laravel
我正在运行 Laravel 5.2,在 Windows 8.1 上使用 XAMPP 和 php 7.2,我正在尝试使用带有 sqlite 数据库的 laravel auth 注册表来注册用户。但是,当我尝试将新记录插入表时users,出现错误。
SQLSTATE[HY000]:一般错误:1 没有这样的表:用户
当我迁移数据库时,它会创建用户表。但是当我尝试users使用注册表在表中插入新记录时,它会尝试访问user表。所以我user在数据库中创建了表,它工作正常,但记录插入到users表中而不是user表中。
移民
public function up(){
Schema::create('users', function (Blueprint $table) {
$table->increments('user_id');
$table->string('name');
$table->string('role');
$table->string('username');
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
public function down(){
Schema::drop('users');
}
Run Code Online (Sandbox Code Playgroud)
用户模型
class User extends Authenticatable{
protected $primaryKey = 'user_id';
protected $fillable = [
'name', 'role', 'username', 'password',
];
protected $hidden = [
'password', 'remember_token',
];
}
Run Code Online (Sandbox Code Playgroud)
身份验证控制器
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller{
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
protected $redirectTo = '/';
protected $username = 'username';
public function __construct()
{
$this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'role' => 'required|max:7',
'username' => 'required|unique:user',
'password' => 'required|min:6|confirmed',
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'role' => $data['role'],
'username' =>$data['username'],
'password' => bcrypt($data['password']),
]);
}
}
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助和抱歉英语不好。
您的问题在验证中:
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'role' => 'required|max:7',
'username' => 'required|unique:user',
'password' => 'required|min:6|confirmed',
]);
}
Run Code Online (Sandbox Code Playgroud)
您正在检查用户名在usernot 中是否唯一users,试试这个:
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'role' => 'required|max:7',
'username' => 'required|unique:users,username',
'password' => 'required|min:6|confirmed',
]);
}
Run Code Online (Sandbox Code Playgroud)
此外,您可能希望对迁移添加唯一约束。
| 归档时间: |
|
| 查看次数: |
8951 次 |
| 最近记录: |