Есть 2 модели, ProduceInStore и produceHasSupplier. У которых связаны между собой.
В ProduceInStore
public function getProduceHasSupplier()
{
return $this->hasOne(ProduceHasSupplier::className(), ['code' => 'code']);
}
В ProduceHasSupplier
public function getProduceHasSupplier()
{
return $this->hasOne(ProduceHasSupplier::className(), ['code' => 'code']);
}
Что делаю: создаю массив объектов AR(ProduceInStore) по следующим условиям.
$two = (new ProduceInStore())::find()->select([
'lbk_Produce_has_Supplier.idProduce',
'lbk_Produce_inStore.code',
'lbk_Produce_inStore.idSupplier',
'SUM(lbk_Produce_inStore.cnt) as remains'])
->innerJoinWith('produceHasSupplier')
->where('lbk_Produce_inStore.cnt > 0')
->andWhere(['lbk_Produce_has_Supplier.idSupplier' => $access_groups['supplier']])
->andWhere(['lbk_Produce_inStore.idSupplier' => $access_groups['supplier']])
->andWhere(['lbk_Produce_has_Supplier.idProduce' => [1461127, 820793]])
->groupBy('lbk_Produce_has_Supplier.code')
->orderBy('lbk_Produce_has_Supplier.idProduce')
->all();
Что ожидаю получить: Массив с двумя ProduceInStore в каждом из которых будет по объекту produceHasSupplier с атрибутом(idProduce).
Что я получаю: Объект 1461127 содержит атрибуты. Объект 820793 содержит пустой объект produceHasSupplier
P.S. Пробывал в условии -'lbk_Produce_has_Supplier.idProduce' указать только 820793. В таком случае produceHasSupplier содержит атрибуты.
Думал что проблема в замой записи, но как и писал выше если указать одну конкретную запись, то всё работает как нужно.