#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
получает свои данные?