Je travaille sur un projet de Laravel-5.8
$employees_that_submitted_assessment = Assessment::where('is_submitted', 1)->get(); //Note:If the submitted assessment approved, is_approved = 1 else 0
$supervisor_completed_approvals = Employee::get();
4 Réponses :
Vous devriez envisager de changer votre colonne IS_Approved à approuve_by si vous devez suivre cette information, puisqu'un employé peut modifier les superviseurs à l'avenir, j'imagine.
Dans ce cas, vous pouvez ajouter les relations suivantes P> < p> employé.php p> évaluation.php p> Vous pouvez désormais approuver une logique que vous aimez, comme Ci-dessous: p>
Essayez comme ceci lorsque vous devrez DD ($ employé_that_submitted_assessment); Vous trouverez superviseur p> p>
Vous pouvez y parvenir avec le constructeur de requêtes. Je crois que cela ressemblerait à ceci:
Employee::query()
->whereNull('supervisor_id')
->whereNotIn('supervisor_id', function($query){
$query->select('employee_id')
->from('employee_assignments')
->join('employee_assignments', 'employee.id', '=', 'employee_assignments.employee_id')
->where('employee_assignments.is_submitted', '=', 1)
->where('employee_assignments.is_approved', '=', 0);
})->get();
Vous devez concevoir votre relation de modèle éloquente. Comme je peux le constater, vous n'avez pas fourni la relation entre les objets de l'employeur et le superviseur. Selon votre scénario d'évaluation, un superviseur peut au moins avoir une évaluation des employés et de nombreuses occurrences d'évaluation doivent être traitées par un superviseur. Nous avons donc une relation une-plusieurs entre superviseur et employée.
Vous devez considérer quelque chose comme ceci: p>
relation modèle éloquente p>
@if(!empty($supervisors))
//traverse the assessment by supervisor with nested loops
@foreach($supervisors as $supervisor){
@foreach($supervisor->employeeassements as $assessment){
//some extra code here using $assessment object
//count the suppervisors here
({{ count(($supervisor->employeeassements) }})
}
}
@endif
contrôleur p>
$supervisors = Supervisor::with('employeeassements', 'employee')->orderBy('id', 'desc')->limit(25)->get(); //if you want to limit 25 assessments per query
vue p>
class Supervisor extends Model{
public function employeeAssessment(){
return $this->hasMany('App\EmployeeAssessment');
}
}
class EmployeeAssessment extends Model{
public function supervisor(){
return $this->belongsTo('App\Supervisor');
}
}
Dans le modèle de travail de l'employé, la fonction superviseure () .. Est-ce que ça va @mikefolu?
@Abdullahalnoor - Oui, Vérifiez la fonction superviseure (). Chaque employé a un superviseur