Teste em Relacionamento belonstomany
[Finalizado Pelo Aluno]
Boa tarde
Fiquei na duvida de como eu poderia criar uma factory que possui um relacionamento belonstomany
Na minha regra tenho uma tabela pivo no exemplo que criei para estudar.
Na minha model chamada Enterprise tenho a relação
public function fields()
{
return $this->belongsToMany(Field::class, 'common_enterprises_fields')->withTimestamps();
}
Que se relaciona com a tabela de campos
PS. A relação e baseada no id ,não tenho uma coluna chama field_id na tabela de Enterprise
Olá, Cleison!
Tudo bem?
O que você pode fazer para trabalhar com testes em relações many to many:
Primeiro, você cria as factories dos dois itens que deseja relacionar, normal igual criamos até o momento. Tranquilo até aqui?
Segundo, gera os dados fake para as duas tabelas:
Enterprise::factory()->count(10)->create();
Field::factory()->count(10)->create();
Agora você reciona os dados, uma das várias alternativas:
$fields = Field::get();
Enterprise::get()
->each(function ($enterprise) use ($fields) {
$enterprise->fields()->attach(
$fields->random(rand(1, 3))->pluck('id')->toArray()
);
});
Pegou a ideia amigo?
Sim,entendi.Obrigado
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!