laravel - 有数据时axios返回错误状态码500
问题描述
我正在使用Laravel 8
,对于我的应用程序VueJS
,Axios
每次我尝试从数据库中获取所有记录时,它都会返回一个状态码为 500 的错误。即使使用 Postman/Insomnia 获取数据时,它也会返回没有错误的数据。
我试图清空它获取数据的表,错误消失了,它返回状态码为 200 的空数据。
存储模块:
import axios from 'axios'
export default {
namespaced: true,
state: {
courses: [],
teacher: '',
},
getters: {
allCourses(state) {
return state.courses
},
},
actions: {
async fetchAllCourses({ commit }) {
const response = await axios.get('teacher/course-management/list')
console.log(response.data.data)
commit('SET_COURSES', response.data.data)
}
},
mutations: {
SET_COURSES(state, courses) {
state.courses = courses
}
}
控制器:
public function fetchAllCourses() {
try {
$courses = Course::all()->sortBy('id');
$data = $courses->transform(function ($course) {
// ! Get teacher id
$teacherId = $this->user->teacher->id;
// ! Get teacher name by id
$teacherName = $this->getTeacherName($teacherId);
return [
'id' => $course->id,
'teacher_id' => $course->teacher_id,
'teacher' => $teacherName,
'section' => $course->section,
'code' => $course->code,
'status' => $course->status,
'image' => $course->image,
];
});
return $this->success('Request success', $data);
} catch (\Exception $e) {
return $this->error($e->getMessage(), $e->getCode());
}
}
解决方案
问题解决了。
public function fetchAllCourses() {
try {
$courses = Course::all()->sortBy('id');
$data = $courses->transform(function ($course) {
return [
'id' => $course->id,
'teacher_id' => $course->teacher_id,
'teacher' => $this->getTeacherName($course->teacher_id),
'section' => $course->section,
'code' => $course->code,
'status' => $course->status,
'image' => $course->image,
];
});
return $this->success('Request success', $data);
} catch (\Exception $e) {
return $this->error($e->getMessage(), $e->getCode());
}
}
推荐阅读
- javascript - 异步/等待事件流 mapSync 不起作用
- python - 在 x 轴上带有时间的 Matplotlib 图中,如何使长轴和短轴标签不重叠?
- python - 如何修复分数加法失败
- batch-file - 等待批处理脚本直到 CURL 完成执行
- anaconda - PySide2.QtWidgets 仅在 Anaconda 提示符中识别,但在执行脚本时不识别
- javascript - 使用任何文本查找 DOM 属性并存储在变量中
- java - 使用 classLoader 启动 spring-boot 应用程序
- ios - iOS 迅捷 | 教练标记/演练指示行为不端
- sapui5 - 如何在格式化程序中将控制实例作为“this”?
- azure - 用于在 blob 容器内创建子目录并将一些数据插入其中的 PowerShell 脚本