@bighoc
php/javascript developer

Почему несохранённая модель не видит релешнов в Yii2?

У меня есть один параметр препорпделенный ( по которому и связана релешн), сввязка идёт не по id.

То есть я осздаю новый екзмепляр, и устанавливаю некий параметр в инит
$productEntity = ProductEntity::find()->where(['alias' => $this->productName()])->one();

А вот так выглядить мой релейшн
public function getParamList()
    {
        return $this->hasMany(ProductAttribute::className(), ['product_entity_id' => 'id'])
            ->where(['product_entity_id' => $this->product_entity_id]);
    }

Увы, не сохранив модель я не могу получить доступ к релейшнам. Что можно придумать?
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ответы на вопрос 1
kawabanga
@kawabanga
когда вы создаете модель, модель у вас виртуальная и не привязана никак к базе.

есть пару решений что на ум приходят:

$mode->save(); /*код*/ $model->delete();

и второй способ, сделайте геттер
protected $_rel;

  public function getRel() {
    if ($this->$_rel) return $this->$rel; 

else {
$model = Model::findAllByAttributes();
if (!$model)  return false;

$this->_rel = $model
return $this->_rel;


}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы