Юи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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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