Юи2. Метод ActiveRecord with() не устанавливает связьPhp

Кемеровские программисты php общаются здесь
Anonymous
Юи2. Метод ActiveRecord with() не устанавливает связь

Сообщение Anonymous »

Я столкнулся с ситуацией, когда соединение через with() не подтягивается, если в выборке несколько записей. Если запись только одна, все работает правильно, но в остальных случаях возвращает ноль. Запрос прост:

Код: Выделить всё

$modelClass::find()
->with(['shopPartner'])
->where([$modelClass::tableName() . '.id' => $ids])
Ссылка осуществляется через поле shop_code модели на поле кода связанной модели, которое содержит строку, например «test».

Код: Выделить всё

public function getShopPartner(): ActiveQuery
{
return $this->hasOne(ShopPartner::class, ['code' => 'shop_code']);
}
Если вы удалите ссылку из with(), связанная модель будет правильно получена при доступе к ->shopPartner, но такое поведение не ожидается в цикле.


Подробнее здесь: https://stackoverflow.com/questions/798 ... lationship

Вернуться в «Php»