0
我对Laravel很新。如何计算Laravel 5.1的得分
我已经命名为申请人,提问,回答三个表:
申请人
id jobid name
1 151 ABC
2 151 DEF
答案
id qid jobid aaplicantid answer
1 21 151 1 1
2 22 151 1 0
3 21 151 2 1
4 22 151 2 1
问题
id jobid answer
21 151 1
22 151 1
这里我想根据问题答案表计算申请人分数的百分比,假设一个工作有两个问题,如果申请人回答与问题表答案匹配,那么他将得到100%的分数,如果任何一个没有匹配,那么会从得分中扣除很多。
我想要的分数应该划分像 例如:一个职业都有5个问题
score=>100/count(questions)=20 for each matched answer
的作业ID 151申请表应如下
id name score joid
1 ABC 50% 151
2 DEF 100% 151
,我使用以下查询但它没有给出预期的结果。
$apps=applicants::where('jobid','=',$jobId)->get();
foreach($apps as $apo){
$appid[]=$apo->id;
}
$score=answers::whereIn('appid',$appid)->where('jobid','=',$jobId)->get();
$qid=array();
foreach($score as $s){
$qid[]=$s->qid;
}
$queid=questions::whereIn('id',$qid)->where('jobid','=',$jobId)->get();
$calscore=100/(count($queid));
$key = 0 ; $finalscore = array();$sss = 0;
for($n = 0; $n< count($queid); $n++) {
foreach($queid as $que){
$quei[]=$que->id;
$weight[]=$que->weight;
foreach ($score as $s){
$qid[]=$s->qid;
$sc[]=$s->answer;
if($que->id==$s->qid){
if($weight==$sc){
$finalscore=$sss+$calscore;
$sss++;
}
}
}
$key++;
}
}
dd($finalscore);
甚至我试图用连接查询它没有给出正确的结果。雄辩模型有可能吗?
有人可以帮我解决这个问题。