Laravel 7用户注册时如何同时向两个表插入数据?

How can I insert data in two tables at the same time during user registration in Laravel 7?

我有一张用于注册新用户的注册表。我的用户称为“客户”,所以我在 mysql 数据库中有两个 table(“客户”table 和“用户”table)。我正在使用 Laravel 7。我想在注册期间同时向两个数据库 table 插入客户数据(名字、姓氏、电子邮件 e.t.c)。我创建了两个具有一对一关系的模型。我还创建了一个控制器来注册客户端,但目前正在将数据插入一个 table(客户端 table)。请帮我同时在两个table中插入数据。谢谢

注册控制器:

<?php

namespace App\Http\Controllers\Auth\Client;

use App\Http\Controllers\Controller;
use App\Models\User;
use App\Models\Client;
use Illuminate\Http\Request;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Auth;

class RegisterController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Register Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles the registration of new users as well as their
    | validation and creation. By default this controller uses a trait to
    | provide this functionality without requiring any additional code.
    |
    */

    use RegistersUsers;

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest');
    }

    // Showing a Registration Form to User

    public function create()
    {
        return view('auth.client.register');
    }


    // Validating the User

    public function store(Request $request)
    {
        $request->validate([
            'first_name'            => 'required|string|max:255',
            'last_name'             => 'required|string|max:255',
            'telephone_number'      => 'required|digits:10',
            'email'                 => 'required|string|email|max:255|unique:users','regex:/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,6}$/',
            'password'              => 'required|string|min:6|confirmed',
            'password_confirmation' => 'required',
        ]);

    // Creating the User

        $client = Client::create([
                'first_name'        => $request->first_name,
                'last_name'         => $request->last_name,
                'telephone_number'  => $request->telephone_number,
                'email'             => $request->email,
                'password'          => Hash::make($request->password),
        ]);
        
        return redirect('dashboard');
    }
      
}

我的用户模型中的关系

public function client()
    {
        return $this->hasOne(Client::class,'user_id');
    }

我的客户模型中的关系

/**
     * @return BelongsTo
     */
    public function user(){
        return $this->belongsTo(User::class ,'user_id');
    }

如果你想插入其他 table 和相同的数据,也许你可以这样做:

$otherName= OtherModel::create([    
    'first_name'        => $request->first_name,
    'last_name'         => $request->last_name,
    'telephone_number'  => $request->telephone_number,
    'email'             => $request->email,
    'password'          => Hash::make($request->password),
]);
        
return redirect('dashboard');