如何在Laravel中创建用户?

如何在Laravel中创建用户?,laravel,Laravel,我正在创建一个CMS应用程序,用户应该首先注册 我创建了一个RegisterController,在这里我定义了index()方法,该方法返回视图register.blade.php 当用户单击“注册”按钮时,请求应传递到create()方法旁边的/RegisterURL并创建一个用户 既然我已经定义了/register应该打开register.blade.php,那么我如何运行另一个方法在同一URL下创建用户呢 我也不想使用php artisan make:controller Registe

我正在创建一个CMS应用程序,用户应该首先注册

我创建了一个
RegisterController
,在这里我定义了
index()
方法,该方法返回视图
register.blade.php

当用户单击“注册”按钮时,请求应传递到
create()
方法旁边的
/Register
URL并创建一个用户

既然我已经定义了
/register
应该打开
register.blade.php
,那么我如何运行另一个方法在同一URL下创建用户呢

我也不想使用php artisan make:controller RegisterController--resource

RegisterController.php

<?php

namespace App\Http\Controllers\Authentication;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class RegisterController extends Controller
{
    public function index() {
        return view('auth.register');
    }

    protected function validator(array $data) {
        return $data->validate([
            'fname' => 'required|string|max:255',
            'lame' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6',
        ]);
    }

    protected function create(Request $request) {
        $this->validator($request->all)->validate();
    }
}

为什么不使用Laravel Auth,它将为您构建Auth数据库、视图和逻辑

php artisan make:auth

编辑:

好的,如果我理解正确,你想要你的帖子并指向同一个路由url

Route::match(array('GET','POST'),'/register', 'RegisterController@index');
{
   //
});

您可以尝试以下形式的路由:

Route::get('/user', 'UserController@index');
这可能对你有用

此外,别忘了查阅Laravel关于路线的官方文件

https://laravel.com/docs/5.6/routing

这将对您有很大帮助。

表单正在向某个路由发送post请求,在本例中,该路由是
/register
,但您尚未提供该路由

Route::post('register', 'Authentication\RegisterController@create');

此外,表单操作可以是
action=“register”

Nup。我想自己从头开始!更新了我的答案@SanjayI get
属性[controller]不存在。
错误。我猜控制器属性在Laravel5.6中不再有效!再次更新,我的坏。。这就是幼虫医生建议我们如何做到这一点@Sanjay如何将其指向控制器?类似于
Route::match(数组('GET','POST'),'/register','RegisterController'
https://laravel.com/docs/5.6/routing
Route::post('register', 'Authentication\RegisterController@create');