Laravel 没有创建没有错误的记录
Posted
技术标签:
【中文标题】Laravel 没有创建没有错误的记录【英文标题】:Laravel not creating records with no errors 【发布时间】:2019-04-17 06:12:41 【问题描述】:我对 laravel (5.7) 有点陌生,我一直在尝试创建注册表单。验证效果很好,但随后页面刷新,没有任何反应,没有错误,注册表没有任何变化,数据库中没有记录。
这是我的控制器,我调整了 laravel 为您提供的基本形式,使其与我的数据库匹配。我为我的模型创建了一个文件夹,因此我将路径更改为“用户”模型,这就是我对此所做的所有调整。
namespace App\Http\Controllers\Auth;
use App\Models\users;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
class RegisterController extends Controller
use RegistersUsers;
protected $redirectTo = '/home';
public function __construct()
$this->middleware('guest');
protected function validator(array $data)
return Validator::make($data, [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users,User_Email',
'passowrd' => 'required|string|min:2|confirmed',
]);
protected function create(array $data)
return users::create([
'User_Nom' => $data['name'],
'User_Email' => $data['email'],
'User_pwd' => Hash::make($data['password']),
]);
我猜这与我的模型有关,但我无法将手指伸进去。所以这是我的模型:
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class users extends Authenticatable
use Notifiable;
protected $primaryKey = 'User_Id';
protected $table = 'users';
protected $fillable = [
'User_Id', 'User_Nom', 'User_Prenom', 'User_pwd', 'User_Email', 'User_Tel', 'User_Fax', 'User_Post'
];
protected $hidden = [
'User_pwd', 'remember_token',
];
(对不起,副本的缩进 - 过去搞砸了)
谢谢
【问题讨论】:
也添加您的表单。 我没有从 Laravel 的基本形式中改变任何东西 laravel 日志有错误吗? 完全没有错误 【参考方案1】:在您的模型中,还应更改命名空间以匹配它所在的文件夹。所以:namespace App\Models;
。除此之外,您的验证中有一个错字:passowrd
。
查看https://laravel.com/docs/5.7/requests,了解您应该如何在控制器中接收数据。
【讨论】:
我觉得很愚蠢,谢谢你是那个“密码”,所以现在我可以看到错误了。 " 无效的日期时间格式:1366 不正确的整数值:第 1 行的列“User_Nom”的“测试”(SQL:插入到users
(User_Nom
,User_Email
,User_pwd
,updated_at
,created_at
)值(测试,test@domaine.fr,$2y$10$Htv9GgXn3bFbVRQ7c5C8ju5FoLtJX/zQgNnZY/4djY559wjUFC.J.,2018-11-14 10:15:27, 2018-11-14 10:15:27)”但这是另一个故事...
你的数据库中的 User_Nom 字段是什么类型的?似乎它被设置为一个整数字段,但你正试图在其中放入一个字符串。
因为我可以看到错误,所以我可以解决问题 :) 我也已经解决了这个问题,谢谢大家!【参考方案2】:
这样调用模型怎么样?
use App\users;
【讨论】:
以上是关于Laravel 没有创建没有错误的记录的主要内容,如果未能解决你的问题,请参考以下文章
PHPStorm - Laravel Eloquent 没有代码提示 [重复]
Laravel POST 路由返回 HTTP 代码 200 但没有创建记录