Мой код:
Приложение \ Пользователь
public function buyers()
{
return $this->hasMany(Buyer::class);
}
public function buyerSearches()
{
return $this->hasManyThrough(BuyerSearch::class, Buyer::class);
}
public function buyerSearchProperties()
{
return $this->hasManyThrough(BuyerSearchProperty::class, BuyerSearch::class, 'buyer_id');
}
public function shows()
{
return $this->hasManyThrough(Show::class, BuyerSearchProperty::class, 'buyer_search_id');
}
«Тест» (конечно, это не настоящий тест):
/** @test */
public function users_give_back_the_correct_shows_count()
{
$user = factory(User::class)->create();
$buyer = factory(Buyer::class)->create([
'user_id' => $user->id,
]);
[$buyerSearchA, $buyerSearchB] = factory(BuyerSearch::class, 2)->create([
'buyer_id' => $buyer->id,
]);
$buyerSearchPropertyA = factory(BuyerSearchProperty::class)->create([
'buyer_search_id' => $buyerSearchA,
]);
$buyerSearchPropertyB = factory(BuyerSearchProperty::class)->create([
'buyer_search_id' => $buyerSearchB,
]);
factory(Show::class, 2)->create([
'buyer_search_property_id' => $buyerSearchPropertyA->id,
]);
factory(Show::class, 2)->create([
'buyer_search_property_id' => $buyerSearchPropertyB->id,
]);
dd($user->shows)
}
dd возвращает только показы $ customerSearchPropertyA.Если я удаляю $ customerSearchPropertyA, он вернет корректно, как показывает $ customerSearchPropertyB.Где я могу ошибиться?
Спасибо,