Relacionamento de uma para um

[Finalizado Pelo Aluno]

saulo de tacio moreira Criador 18/01/2020
saulo de tacio moreira

 No momento do relacionamento não foi informando a chave primaria e nem foregeinKey, o laravel ja fiz isso de forma dinamica? 

Manager Carlos Ferreira 20/01/2020
Carlos Ferreira

Olá Saulo!
Tudo bem?

Sim, ele deduz que a chave primária é "id" e que a chave estrangeira é "nometabelasingular_id"

Mas, é possível customizar (se for o caso):
return $this->hasOne(NomeModel::class, 'foreign_key', 'local_key');

Criador saulo de tacio moreira 26/01/2020
saulo de tacio moreira

ola!

deixa eu ver se entendi,

tenho tabela usuarios e tenho tabela  perfil,

na model perfil eu deveria fazer dessa forma return $this->hasOne(UsuariosModel::class, 'id_perfil', 'id');  ?

Manager Carlos Ferreira 27/01/2020
Carlos Ferreira

Se sua chave estrangeira na tabela perfis for "id_iser", sim, precisa informar a foreign_key customizada.
return $this->hasOne(UsuariosModel::class, 'id_iser');

E se a chave primária dessa tabela perfis for "id_perfil" você precisa informar no relacionamento:
$this->hasOne(UsuariosModel::class, 'id_iser', 'id_perfil');

----------------

Agora se a estrutura dessa tabela perfis for:
id, user_id, ...

Basta fazer assim:
return $this->hasOne(UsuariosModel::class);

Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!