Задать вопрос
@SalaDIN_91

Active record пустой relatedRecords. Почему?

Есть 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 содержит атрибуты.
Думал что проблема в замой записи, но как и писал выше если указать одну конкретную запись, то всё работает как нужно.
  • Вопрос задан
  • 25 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы