簡體   English   中英

Laravel Eloquent Create什么都不做

[英]Laravel Eloquent Create does nothing

因此,我正在學習Laravel,並嘗試使用輸入表單的數據在數據庫中創建一個新用戶。 在我的控制器中,我得到了很好的表單數據,並將其傳遞給帶有可以通過的規則的驗證器,但是當我嘗試創建User時,沒有任何內容被添加到數據庫中,而是重定向到基本的“ Whoops,好像出了問題。” 錯誤頁面,而不是我告訴它的頁面。

這是我的控制器功能:

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()部分,重定向可以正常工作。 首先,我將所有數據庫字段都包含在用戶模型的可填充數組中。 仍然不起作用。 有任何想法嗎?

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

開啟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 

從您的終端生成優化的類加載器!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM