Dúbida com relação ao nome de model composto
Criador
Marcos Birro Calixto
Bom dia.
Eu rpeciso criar uma relação entre usuário e tipo de usuário então estou fazendo assim:
Sendo que: um usuário pode ser de um tipo e um tipo pode ser vários usuários
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->foreignId('tipo_user_id')->constrained();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
Schema::create('tipo_users', function (Blueprint $table) {
$table->id();
$table->string('name')->unique();
$table->timestamps();
});
na model User fiz:
public function tipoUser(): BelongsTo
{
return $this->belongsTo(TipoUser::class);
}
E na model TipoUSer
public function user()
{
return $this->hasOne(User::class);
}
Está certo isso?
Obrigado.
Manager
Carlos Ferreira
Olá, Marcos!
Tudo bem?
Como suas tabelas não seguiram as convensões de nomes corretos, precisa especificar no model no relacionamento qual o nome da FK:
public function tipoUser(): BelongsTo
{
return $this->belongsTo(TipoUser::class, 'tipo_user_id');
}
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!