Axios在数据存在时返回500错误状态码
P粉275883973
P粉275883973 2023-08-30 17:42:42
[Vue.js讨论组]

我正在使用 Laravel 8VueJSAxios 来开发我的应用程序,但每次尝试从数据库中获取所有记录时,它都返回一个状态码为500的错误。即使使用 Postman/Insomnia 获取数据时没有错误。

我尝试清空获取数据的表,错误消失了,并返回状态码为200的空数据。

Store 模块:

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) {
            // ! 获取教师ID
            $teacherId = $this->user->teacher->id;
            // ! 根据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('请求成功', $data);
    } catch (\Exception $e) {
        return $this->error($e->getMessage(), $e->getCode());
    }   
}

P粉275883973
P粉275883973

全部回复(1)
P粉486743671

问题已解决。

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('请求成功', $data);
        } catch (\Exception $e) {
            return $this->error($e->getMessage(), $e->getCode());
        }   
    }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号