У нас есть модели: вопрос и ответ.
В таблице ответов у нас есть логический столбец с именем accepted
, и у нас есть только один принятый Ответ.Мы хотим получить вопрос с его ответами и принять ответ отдельно.
Я использую два подхода, но я не знаю, какой из них лучше:
1).проверьте, загружено ли отношение, если загружены отношения фильтра, и получите принятый ответ, подобный этому:
if(!$this->relationLoaded('answers')){
$this->load('answers');
}
return $this->answers->firstWhere('accepted',true);
2).Мы также можем использовать этот подход:
function accepted_answer(){
return $this->answer()->where('accepted',true);
}
Проблема второго подхода заключается в том, что мы получаем массив, но мы ожидаем один ответ или ноль.Есть ли лучший подход к этому, или мы не можем использовать ни 1, ни 2?