Итак, мои модели работают так:
User
есть одинInvestor
Investor
имеет многоInvestments
Investments
имеет многоBids
Bids
принадлежитObjectInAuction
ObjectInAuction
имеет многоBids
Мне нужно построить функцию в ObjectInAuction
, которая возвращает все сущности ObjectInAuction
, которые были вложены User
с некоторыми $user_id
.
Вот что у меня есть в ObjectsInAuctionTable.php
:
public function getAuctionObjectsInvestedBy($user_id)
{
$query = $this->find();
$query->contain([
'Bids.Investments.Investors' => function ($q) use ($user_id) {
return $q->where(['Investors.user_id' => $user_id]);
}
]);
}
$invoices = $query->all();
Проблема в том, что это каждый раз возвращает все счета в базе данных. Как я могу заставить это работать?