Добрый день, у меня есть relation в модели Items:
public function getPlan()
{
return $this->hasOne(Plans::className(), ['id' => 'value'])
->viaTable(ItemsPropsValues::tableName(), ['item_id' => 'id'], function ($query) {
/** @var ActiveQuery $query */
$query->where(['type_id' => $this->category->itemsPropsTypes['plan_id']->id]);
});
}
Оно работает, но так как были использованы свойства самой модели через $this, то не поддерживается столь необходимая ленивая загрузка.
Просто взять и объявить foreign key не могу, Items это товар который имеет различные наборы свойств(ItemsPropsTypes) в зависимости от того какая ему категория назначена.
Как мне отредактировать готовый relation, чтобы получить связь которая поддерживает ленивую загрузку?