Как преобразовать в массив в этом состоянии?

#laravel

#laravel

Вопрос:

В модели Student я создал атрибут, подобный этому

 protected $appends = ['present'];

   public function getPresentAttribute(){
      return $this->getTotalDays()-$this->getAbsentDays();
   }
  

Моя база данных выглядит следующим образом

 | id | student_name         |     created_at    |
*----*----------------------*-------------------*-- 
| 1  |  Adam                |     2020/11/10    | 
| 2  |  Annie               |     2020/11/10    |
|3   |  Paul                |     2020/11/10    |
  

если я сделаю это в контроллере, то

   $students=Student::get();
  foreach($students as $stu){
   echo "<pre>"; print_4($stu->student_name,$stu->present); die;
  }
  

Мой результат будет таким

  Adam -> 32
 Annie ->34
 Paul->33
  

Но мне нужно преобразовать так

  ['Students', 'Present Day',],
    ['Adam'     , 32],
    ['Annie'    , 34],
    ['Paul'     , 33],
  

Итак, в контроллере я попробовал так

 public function attendancePerformance(){
   $students=Student::get();
   $data=[];
   $student_data=[];
   $arrayHeader = ["Students","Present Day"];
   array_push($data,$arrayHeader);
       foreach ($students as $stu) {
            array_push($student_data, $stu->student_name,$stu->present);
         }
       array_push($data,$student_data)
    
   }
    
  

Но это не работает.Как я должен это сделать?

Комментарии:

1. Решает ли это вашу проблему $students = Student::get()->toArray(); ?

2. Я так не думаю, потому что мне нужно отправить точный этот массив в API so.

3. Я добавляю свой заголовок, и в таблице students так много столбцов, которые мне не нужны

4. откуда getTotalDays и getAbsentDays получает свои данные?