Пример #1
0
 public function listAll($page = 1)
 {
     $toReturn = array();
     if ($this->data['users']->role == "admin") {
         $toReturn['payments'] = \DB::table('payments')->leftJoin('users', 'users.id', '=', 'payments.paymentStudent')->select('payments.id as id', 'payments.paymentTitle as paymentTitle', 'payments.paymentDescription as paymentDescription', 'payments.paymentAmount as paymentAmount', 'payments.paymentStatus as paymentStatus', 'payments.paymentDate as paymentDate', 'payments.paymentStudent as studentId', 'users.fullName as fullName')->orderBy('id', 'DESC')->take('20')->skip(20 * ($page - 1))->get();
         $toReturn['totalItems'] = payments::count();
     } elseif ($this->data['users']->role == "student") {
         $toReturn['payments'] = \DB::table('payments')->where('paymentStudent', $this->data['users']->id)->leftJoin('users', 'users.id', '=', 'payments.paymentStudent')->select('payments.id as id', 'payments.paymentTitle as paymentTitle', 'payments.paymentDescription as paymentDescription', 'payments.paymentAmount as paymentAmount', 'payments.paymentStatus as paymentStatus', 'payments.paymentDate as paymentDate', 'payments.paymentStudent as studentId', 'users.fullName as fullName')->orderBy('id', 'DESC')->take('20')->skip(20 * ($page - 1))->get();
         $toReturn['totalItems'] = payments::count();
     } elseif ($this->data['users']->role == "parent") {
         $studentId = array();
         $parentOf = json_decode($this->data['users']->parentOf, true);
         if (is_array($parentOf)) {
             while (list($key, $value) = each($parentOf)) {
                 $studentId[] = $value['id'];
             }
         }
         $toReturn['payments'] = \DB::table('payments')->whereIn('paymentStudent', $studentId)->leftJoin('users', 'users.id', '=', 'payments.paymentStudent')->select('payments.id as id', 'payments.paymentTitle as paymentTitle', 'payments.paymentDescription as paymentDescription', 'payments.paymentAmount as paymentAmount', 'payments.paymentStatus as paymentStatus', 'payments.paymentDate as paymentDate', 'payments.paymentStudent as studentId', 'users.fullName as fullName')->orderBy('id', 'DESC')->take('20')->skip(20 * ($page - 1))->get();
         $toReturn['totalItems'] = payments::count();
     }
     $classes = classes::where('classAcademicYear', $this->panelInit->selectAcYear)->get();
     $toReturn['classes'] = array();
     foreach ($classes as $class) {
         $toReturn['classes'][$class->id] = $class->className;
     }
     return $toReturn;
 }