Возможно, плохо сформулировал вопрос, поясню суть: у меня есть таблица пользователей users и таблица с мета-данными пользователей (город, пол. возраст и тд) users_meta, которая связана с таблицей users по полю user_id.
Класс миграции users_meta<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersMetaTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users_meta', function (Blueprint $table) {
$table->unsignedBigInteger('user_id');
$table->string('occupation')->nullable();
$table->string('description')->nullable();
$table->bigInteger('reputation')->default(0);
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->primary(['user_id']);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users_meta');
}
}
То есть при регистрации пользователя должен создаваться элемент, связанный с пользователем, в котором будет информация о нем.
Где это правильнее делать? У меня есть еще несколько таблиц, которые по такому же принципу связаны с таблицей users. На данный я делаю создание данные в обсервере UserObserver:
Класс UserObserver
<?php
namespace App\Observers;
use App\Models\User;
use App\Models\Usermeta;
class UserObserver
{
/**
* Handle the user "created" event.
*
* @param \App\Models\User $user
* @return void
*/
public function created(User $user)
{
Usermeta::create([
]);
}
/**
* Handle the user "updated" event.
*
* @param \App\Models\User $user
* @return void
*/
public function updated(User $user)
{
//
}
/**
* Handle the user "deleted" event.
*
* @param \App\Models\User $user
* @return void
*/
public function deleted(User $user)
{
//
}
/**
* Handle the user "restored" event.
*
* @param \App\Models\User $user
* @return void
*/
public function restored(User $user)
{
//
}
/**
* Handle the user "force deleted" event.
*
* @param \App\Models\User $user
* @return void
*/
public function forceDeleted(User $user)
{
//
}
}