123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <?php
-
- use Illuminate\Database\Eloquent\SoftDeletingTrait;
-
- class Criterion extends Eloquent
- {
- use SoftDeletingTrait;
- protected $dates = ['deleted_at'];
-
- protected $table = 'new_criteria';
-
- public function outcomes()
- {
- // return $this->belongs('Objective')->belongs('Outcome');
- // TODO: Changes here
- // return $this->belongs('Outcome');
- return $this->hasManyThrough('Outcome', 'Objective');
- }
-
- public function objectives()
- {
- return $this->belongsToMany('Objective');
- }
-
- public function rubrics()
- {
- return $this->belongsToMany('Rubric', 'new_criterion_rubric');
- }
-
- /**
- * Return the program that the criterion belongs to
- *
- * @return Illuminate\Database\Eloquent\Model
- */
- public function program()
- {
- return $this->belongsTo('Program');
- }
-
- // public function activities()
- // {
- // return $this->hasManyThrough('Activity','activity_criterion');
- // }
- //
- public function subcriteria()
- {
- return json_decode($this->subcriteria);
- }
-
- public static function students_attempted($criterion_id,$activity_id)
- {
- $students_attempted=0;
- // var_dump($criterion_id);
- // var_dump($semester);
- // exit();
- $activities_criterions=DB::table('activity_criterion')
- ->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
- ->join('courses', 'activities.course_id', '=', 'courses.id')
- ->where('activities.id','=',$activity_id)
- ->where('activity_criterion.criterion_id','=',$criterion_id)
- ->select('activity_criterion.id')
- ->distinct()
- ->get();
-
- foreach($activities_criterions as $activity_criterion)
- {
-
- $students_attempted+=DB::table('new_assessments')
- ->join('activity_criterion', 'new_assessments.activity_criterion_id', '=', 'activity_criterion.id')
- ->where('activity_criterion.id',$activity_criterion->id)
- ->count();
- }
- return $students_attempted;
- }
-
- public static function students_achieved($criterion_id,$activity_id)
- {
- $students_achieved=0;
- $activities_criterions=DB::table('activity_criterion')
- ->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
- ->join('courses', 'activities.course_id', '=', 'courses.id')
- ->where('activities.id','=',$activity_id)
- ->where('activity_criterion.criterion_id','=',$criterion_id)
- ->select('activity_criterion.id','expected_student_score')
- ->distinct()
- ->get();
-
- foreach($activities_criterions as $activity_criterion)
- {
-
- // $expected_student_score=DB::table('new_criteria')->where('id',$criterion_id)->select('expected_student_score')->get();
- $students_achieved+=DB::table('new_assessments')
- ->join('activity_criterion', 'new_assessments.activity_criterion_id', '=', 'activity_criterion.id')
- ->where('activity_criterion.id',$activity_criterion->id)
- ->where('new_assessments.score','>=',$activity_criterion->expected_student_score)
- ->count();
- }
- return $students_achieved;
- }
-
- }
|