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:插入到usersUser_NomUser_EmailUser_pwdupdated_atcreated_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 没有创建没有错误的记录的主要内容,如果未能解决你的问题,请参考以下文章

在没有nodejs的laravel中创建一个实时应用程序

PHPStorm - Laravel Eloquent 没有代码提示 [重复]

使用 laravel 验证检查唯一的日期/时间

Laravel POST 路由返回 HTTP 代码 200 但没有创建记录

在Laravel中创建,更新或删除记录时识别sql错误的最佳方法

我想自学laraver,请诸位前辈给一些建议,谢谢