亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Laravel 上注冊后如何插入到另一個表中?

在 Laravel 上注冊后如何插入到另一個表中?

PHP
慕無忌1623718 2021-10-15 09:44:18
所以,我有一個 Laravel 網絡并有一些表,其中兩個是users和user_data。 user_data有一個user_id引用idon的外鍵users。users具有用戶名、電子郵件、密碼等一般屬性,并且user_data與usersgame_money、game_job、game_tier等具有 1 對 1 關系。如果我將這 2 個組合成 1 個表,列太長,所以我很難規范化它。用戶注冊工作順利。但是我不知道如何user_data在新用戶注冊時添加新條目并在users. 中的屬性列user_data(如 game_money 等)是由 laravel 之外的外部應用程序填充的,所以我只需要user_data.user_id在外鍵中添加一個條目,并讓 user_data 中的其他屬性在被更新之前使用默認值或 null外部應用程序。這是我的user_data遷移:Schema::create('user_data', function (Blueprint $table) {            $table->unsignedBigInteger('user_id');            $table->foreign('user_id')->references('id')->on('users');            $table->string('account_tier')->default("Free");            $table->float('economy')->default(0);            $table->string('job')->nullable();            $table->timestamps();        });我應該將插入查詢放在 Laravel 中的什么位置?或者我應該處理user_data使用外部應用程序?非常感謝。
查看完整描述

3 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

在 RegisterController 里面創建函數


$user= User::create([

            'name' => $data['name'],

            'email' => $data['email'],

            'password' => Hash::make($data['password']),

        ]);

//UserData is the Model of user_data table

$user->UserData->create(['job'=>$data['job']]);

return $user


查看完整回答
反對 回復 2021-10-15
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

試試這個例子:


    use Illuminate\Support\Facades\DB;


    $user_data= array(

     'name' => $data['name'],

     'email' => $data['email'],

     'password' => Hash::make($data['password']),

    );

    $role_data= array(

     'user_name' => $data['name'],

     'email' => $data['email']

    );

    $response = DB::table('users')->insert($user_data);

    $response = DB::table('role')->insert($role_data);


查看完整回答
反對 回復 2021-10-15
  • 3 回答
  • 0 關注
  • 187 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號