У меня есть отношения Yii2
Варианты модели (упрощенно)
Варианты ссылочной последовательности hasOne
public function getReferenceSequence()
{
return $this->hasOne(ReferenceSequences::className(), ['id' => 'reference_sequence_id'])->alias('referenceSequence');
}
Варианты hasMany аннотации через ReferenceSequence
Я хочуобъединить аннотации на основе свойств модели 'start' и 'end' (целочисленные значения) с помощью операторов сравнения.
ЭТО НЕ РАБОТАЕТ
public function getAnnotations()
{
return $this->hasMany(Annotations::className(), ['chrom' => 'name'])
->via('referenceSequence')
->andOnCondition(['AND',['>=','tx_start',$this->start],['<=','tx_start',$this->end]])
->alias('annotations');
}
Я ищу аннотации, которые имеют ту же хромосому, но также попадают в диапазон начала / конца модели Variants.
Вместо того чтобы пытаться внедрить свойства модели $ this-> start и $ this-> end, что по какой-то причине приводит к использованию только одной пары значений, а не к каждой модели результатов поиска, объединяющей свойства $ thisобъект, я хочу использовать псевдоним для родительской таблицы.
Условие 'on' должно быть примерно таким:
->andOnCondition(['AND',['>=','tx_start','VARIANTS_MODEL_ALIAS.start],['<=','tx_start',VARIANTS_MODEL_ALIAS.end]])
В Yii1 был магический псевдоним "t", но этотбольше не работает.