Padrão camel-case
Carlos, bom dia.
Tenho um relacionamento como abaixo:
public function tipoprojetos()
{
return $this->belongsToMany(TipoProjeto::class);
}
Eu trazer um nome diferente do padrao do eloquent camel-case tipo
return $this->belongsToMany(TipoProjeto::class, 'tipoprojeto_id');
como faço isto?
Quando eu faço essa consulta:
$tipoprojetos = $projeto->tipoprojetos()->paginate();
Recebo esse sql com a chave errada. Não é tipo_projeto_id e sim tipoprojeto_id
Eu teria que ter definidor tipo_projeto_id na tabela pivot?
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'projeto_tipo_projeto.tipo_projeto_id' in 'on clause' (SQL: select count(*) as aggregate from `tipo_projetos` inner join `projeto_tipo_projeto` on `tipo_projetos`.`id` = `projeto_tipo_projeto`.`tipo_projeto_id` where `projeto_tipo_projeto`.`projeto_id` = 1 and `tipo_projetos`.`deleted_at` is null)
Olá, Marcos!
Tudo bem?
Vou te esplicar com detalhes o método belongsToMany
$this->belongsToMany(NomeDoModelRelacionado::class, 'nome_da_tabela_pivo', 'coluna_relaciona_id_local', 'coluna_relaciona_id_outro_model');
Se você explorar bem o Laravel, e usar nomes mais coesos para as tabelas criar esses relcionamentos será algo muito mais simples.
Tudo isso poderia se resumir em:
public function types()
{
return $this->belongsToMany(Type::class);
}
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!