Merhaba çok ilginç bir sorun yaşıyorum.
protected $appends = ['true_percent'];
public function getTruePercentAttribute()
{
$answer_count = $this->answers()->count();
$true_answer = $this->answers()->where('answer',$this->correct_answer)->count();
return 100 / ($answer_count);
}
public function answers()
{
return $this->hasMany(Answer::class);
}
Bu şekilde bir tabloma true_percent adında bir sütun Append ediyorum.Çok ilginç bir şekilde bu method
return 100 / ($answer_count); kısmı için bana DivisionByZeroError Division by zero hatası döndürüyor.
Diyorum ki $answer_count 0 olması lazım bunun için ama ben gidip return 100 / ($answer_count); yerine
return 100 / ($answer_count+1); yaparsam bana değer return ediyor hemde $answer_count değişkeninin bir fazlasına bölerek ?? yani anladığım kadarıyla $answer_count değişkeni 0 gelmiyor baya integer 3 geliyor ki bana return ettiği değer 25 oluyor.
Aşırı merak ediyorum ben return 100 / ($answer_count); dediğimde neden $answer_count'ı 0 alıyor bu yahu?
Ve eğer dd(100 / ($answer_count)); dersem 33.33 return ediyor.return kullanmam sorun oluyor nedeni nedir ?