"s" em relacionamento de tabelas
Boa tarde Professor, tenho uma pergunta...
quando faço alguns tipos de relacionamento de tabela, e recupero ele no controler, mesmo setando o campo correto, o framework puxa o "s" em alguns campos, e outros não.
gostaria de entender isso.
Nesse caso, ele entende o permis
sion_id porem ele da o erro que o campo profiles_id não existe, mesmo
eu direcionando corretamente.
esse problema da ao carregar na view.
Olá, Vinicius!
Tudo bem?
Primeiro vamos entender a relação do Model com as tabelas.
É uma boa prática que o model fique sempre no singular, exemplo:
Model Product, tabela products
O Laravel entende por default que o nome da tabela será o model no plural, como neste exemplo:
Model Category, tabela categories
Se o nome for algo incomum (um substantivo talvez) aí é preciso indicar no model qual o nome da tabela:
protected $table = 'nome_diferente';
Sobre os relacionamento, eles sempre devem ficar no singular. Ex, para relacionar um usuário a um post na tabela post a coluna deve ser user_id e não users_id, por default os relacionamentos entendem (one to many) o nome da tabela no singular + id (claro se o nome da tabela fizer sentido...)
Mas, você pode personalizar a FK no momento de relacionar:
public function posts()
{
return $this->hasMany(ModelPost::class, 'nome_coluna_fk');
}
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!