привет!
есть у меня запрос, в котором есть связи: ->with(['one', 'two'])
и код для них:
public function getOne() {
return $this->hasOne(One::classname(), ['id' => 'one']);
}
public function getTwo() {
return $this->hasOne(Two::classname(), ['id' => 'two']);
}
Но проблема в том, что индексы one и two есть не в каждой строчке результата запроса
т.е. массив данных изначальный может быть таким:
[
0 => [
'id' => 1,
'one' => 10,
]
1 => [
'id' => 2,
'two' => 12,
]
2 => [
'id' => 3,
'two' => 25,
]
]
можно конечно вставить пустые индексы задолго до этой выборки, но в будущем таких индексов может стать больше
есть ли возможность как-то в relation проверить существует ли данный индекс?
Что-то вроде
if(!isset($this->one))
return false;
return $this->hasOne(One::classname(), ['id' => 'one']);
Кто-нибудь сталивался с подобным?