[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
VINICIUS DE ANDRADE
Criador VINICIUS DE ANDRADE 16/12/2020

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.

Manager Carlos Ferreira 16/12/2020

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');
}

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!