2 回答
TA贡献1895条经验 获得超3个赞
//count qualified students who have father with id $fatherID
//problem lays here
$getSelectedStudent = \App\StudentRegistrars::where('status', 'Qualified')->whereHas('father_registrars', function($q) use($fatherID) {
$q->where('id', $fatherID);
})->count();
在$q->where('id', $fatherID);这里,“id”不明确,因为在您的连接查询中,表father_registrars和student_registrars表都具有相同的列id。因此,在您的情况下,没有表名的条件是导致不明确的原因。指定表名和列将解决您的问题。
所以在你的情况下,你的查询应该是这样的。
$getSelectedStudent = \App\StudentRegistrars::where('status', 'Qualified')->whereHas('father_registrars', function($q) use($fatherID) {
$q->where('father_registrars.id', $fatherID);
})->count();
TA贡献1943条经验 获得超7个赞
在您正在执行的第一个 foreach 循环中...
$specificFather = \App\FatherRegistrars::where('id', $fatherID);
当你应该做类似的事情时
$specificFather = \App\FatherRegistrars::where('id', $fatherID)->first();
或者
$specificFather = \App\FatherRegistrars::findOrFail($fatherID);
同样在第二个 foreach 中...
$fatherCredential = \App\User::where('username', $fatherUsername)->first();
- 2 回答
- 0 关注
- 155 浏览
添加回答
举报