【问题标题】:Laravel Eloquent Create does nothingLaravel Eloquent Create 什么都不做
【发布时间】:2014-11-26 13:17:18
【问题描述】:

所以我正在学习 Laravel,我正在尝试使用输入到表单中的数据在数据库中创建一个新用户。在我的控制器中,我得到了很好的表单数据,将它传递给了一个验证器,其中一些规则通过了很好,但是当我尝试创建用户时,没有任何东西被添加到数据库中,它重定向到基本的“哎呀,好像出了什么问题。”错误页面而不是我告诉它的页面。

这是我的控制器功能:

public function doRegister() {
    $rules = array(
        'fname'=>'required|alpha|min:2',
        'lname'=>'required|alpha|min:2',
        'email'=>'required|email|unique:users',
        'company'=>'required|alpha|min:2',
        'password'=>'required|alpha_num|between:6,12|confirmed',
        'password_confirmation'=>'required|alpha_num|between:6,12'
    );

    $validator = Validator::make(Input::all(), $rules);

    if($validator->passes()) {
        User::create(array(
            'fname'      => Input::get('fname'),
            'lname'      => Input::get('lname'),
            'email'      => Input::get('email'),
            'password'   => Hash.make(Input::get('password')),
            'company'    => Input::get('company'),
            'created_at' => date('Y-m-d H:m:s'),
            'updated_at' => date('Y-m-d H:m:s')
        ));

        return Redirect::to('login')->with('message', 'Thank you for registering!');
    } else {
        return Redirect::to('register')
            ->with('message', 'The following errors occurred')
            ->withErrors($validator)
            ->withInput(Input::except('password'));
    }
}

删除 User::create() 部分,重定向工作得很好。刚开始,我已经在我的用户模型的可填充数组中包含了所有数据库字段。还是不行。有什么想法吗?

【问题讨论】:

    标签: php laravel eloquent


    【解决方案1】:

    不是您问题的直接答案,而是您找到问题的最快方法。

    打开app.php

    将这张图片中看到的最后一行从(在你的情况下)false 改为 true:

    一旦完成,laravel 会告诉你错误是什么。


    肯定有一个错误

    'password'   => Hash.make(Input::get('password')),
    

    应该是::

    'password'   => Hash::make(Input::get('password')),
    

    你不需要这个:

    'created_at' => date('Y-m-d H:m:s'),
    'updated_at' => date('Y-m-d H:m:s')
    

    laravel 会帮你搞定的!

    如果这之后还是不行,请尝试运行

    php artisan dump-autoload 
    

    从您的终端生成优化的类加载器!

    【讨论】:

    • 非常感谢!我知道在某个时候我看到了我在那里犯的那个错误,但我修复了它,它仍然没有用。然后我一定是不小心撤消了那个修复。除此之外,我遇到的另一个问题是批量分配问题。我曾尝试在不同的地方修复这两个问题,但我猜无意中从未同时修复它们!再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 2018-12-17
    • 2018-05-25
    • 2019-03-08
    • 2016-12-24
    • 2017-04-18
    • 2011-08-03
    相关资源
    最近更新 更多