具有电子邮件验证功能的Laravel重定向和逻辑队列

时间:2019-03-24 13:01:11

标签: php laravel

我在前端有一种表格,其中有一些城市详细信息,房间详细信息和用户注册,就像我以相同的形式拥有城市名称,房间名称,地址等电子邮件地址和密码一样,并且我已经完成了两种逻辑在一个用于创建城市和注册用户的控制器中 它将两个数据都保存在数据库的正确表中 但我希望第一位用户应该注册,并且如果经过验证的用户只将房间详细信息保存在数据库中

我很困惑,希望再次申请

public function checkLogin(Request $request)
{
  $user = User::create([
    'name'=>$request->name,
    'email'=>$request->email,
    'password'=>$request->password,
    'role_id' => config('quickadmin.default_role_id'),
  ]);
  if ($user) {
      if (Auth::check()) {
        $city = TotalCity::create([
            'name'=>$request->name,
            'created_by'=>$request->created_by_id,
        ]);
      }
       return redirect()->to('/admin/home');
  }
}

1 个答案:

答案 0 :(得分:0)

让我告诉你我可能如何写这个逻辑:

TYPE my_table_type IS TABLE OF some_object;

procedure test(p_table IN my_table_type) is
  internal_table my_table_type;
begin
  internal_table := p_table;

  internal_table.extend;
  .... 
end;

public function checkLogin(Request $request) { $user = User::firstOrCreate([ 'email'=> $request->email, ], [ 'name'=> $request->name, 'password'=> bcrypt($request->password), 'role_id' => config('quickadmin.default_role_id'), ]); if (Auth::check()) { // it's not clear if you utilize `email_verified_at`, if so // if (Auth::check() && Auth::user()->email_verified_at) { $city = TotalCity::create([ 'name'=>$request->name, 'created_by'=> Auth::user()->id, // or $user->id depending on your preference ]); } return redirect('/admin/home'); } 检查是否存在带有该电子邮件的条目,将其获取,否则创建它。


此外,如果我要检查身份验证,则可以在路由中使用firstOrCreate()中间件。

'auth'

这消除了整个检查的需要:

Route::get('example', 'ExampleController@checkLogin')->middleware('auth');