Отношения Laravel hasManyThrough - PullRequest
0 голосов
/ 06 мая 2019

Мой код:

Приложение \ Пользователь

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.Где я могу ошибиться?

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...