php - 为什么我得到 500 | 仅在我的托管服务器上的 Laravel 应用程序中的服务器错误?
问题描述
每当我点击某些页面live_exams
时course_stats
,my_orders
500 服务器错误仅出现在我的托管服务器上。但是当我在本地机器上运行相同的应用程序时没有问题。
500 | 服务器错误 - Laravel
//学生仪表板方法
public function student_dashboard()
{
return view('frontend.student_dashboard');
}
public function my_profile()
{
$user_submit_mcq = McqUserAnswer::where('user_id', auth()->id())->get();
$auth = Auth::user()->id;
$enrolls = DB::table('packages as p')
->join('enroll_package AS ep', 'p.id', '=', 'ep.package_id')
->join('enrolls AS r', 'ep.enroll_id', '=', 'r.id')
->join('mcq_user_answers AS mua', 'p.id', '!=', 'mua.package_id')
->where(function ($query) use ($auth) {
$query->where('r.status', 'Complete')
->where('r.user_id', $auth)
->where('p.id', '!=', 'mua.package_id')// ->where('mua.user_id', '!=', $auth)
;
})
->distinct('p.id')
->select('p.*')
->get();
// $pending = ;
return view('frontend.my_profile', compact('user_submit_mcq', 'enrolls'));
}
public function all_courses()
{
$enrolls = Enroll::orderBy('id', 'desc')->where('status', 'Complete')
->where('user_id', auth()->id())->get();
return view('frontend.all_courses', compact('enrolls'));
}
public function course_stats()
{
$userId = \auth()->id();
$packages = Package::whereHas('enrolls', function ($query) use ($userId) {
$query->whereUserId($userId);
})->with(['mcqs' => function ($query) use($userId) {
$query->selectRaw('main_mcqs.id')
->withSum('mcq_answer', 'answer_points')
->withSum(['mcq_user_answer' => function ($query) use($userId) {
$query->whereUserId($userId);
}], 'points');
}])->get();
$labels = $packages->pluck('title');
$datasets = $packages->reduce(function ($carry, $package) {
if($package->mcqs->count()) {
//$carry[0]['data'][] = $package->mcqs->sum('mcq_answer_sum_answer_points');
$carry[0]['data'][] = ($package->mcqs->sum('mcq_user_answer_sum_points') / $package->mcqs->sum('mcq_answer_sum_answer_points')) * 100 ;
} else {
//$carry[0]['data'][] = 0;
$carry[0]['data'][] = 0;
}
return $carry;
}, [
//['label' => 'Total Points', 'data' => [], 'fill' => false, 'borderColor' => '#da0b4e'],
['label' => "User's Points", 'data' => [], 'fill' => false, 'borderColor' => '#1865f2']
]);
$max_y_scales = (int) max($datasets[0]['data']);
return view('frontend.course_stats')->with(compact('labels', 'datasets', 'max_y_scales'));
}
public function live_exams()
{
$exams = LiveExam::with('class')
->whereHas('enroll', function ($query) {
$query->whereUserId(\auth()->id());
})
->orderBy('start_time', 'asc')
->get();
return view('frontend.live_exam.dashboard_exam', compact('exams'));
}
public function my_orders()
{
$orders = Enroll::where('user_id', auth()->id())
->orderBy('created_at', 'DESC')
->get();
return view('frontend.my_orders', compact('orders'));
}
public function settings()
{
return view('frontend.settings');
}
public function saved_courses()
{
$my_wishlist = auth()->user()->my_wishlist;
return view('frontend.saved_courses', compact('my_wishlist'));
}
public function add_to_cart()
{
if (Cart::isEmpty()) {
return redirect('/');
}
$cart_items = Cart::getContent();
return view('frontend.add_to_cart', compact('cart_items'));
}
public function product_wishlist()
{
return view('frontend.product_wishlist');
}
public function leadboard(Request $request)
{
if ($request->p_ && !empty($request->p_)) {
$package_ids = Package::where('title', 'like', '%' . $request->p_ . '%')->pluck('id');
$leadboards = McqManage::whereIn('package_id', $package_ids)->with(['user', 'package'])->orderBy('points', 'desc')->limit(12)->get();
} else {
$leadboards = McqManage::with(['user', 'package'])->orderBy('points', 'desc')->limit(12)->get();
}
return view('frontend.leadboard', compact('leadboards'));
}
// dynamic page
public function page(Request $request, $slug)
{
$page = Page::where('slug', $slug)->where('status', 1)->first();
if (!$page) {
return back();
}
return view('frontend.page', compact('page'));
}
// user profile update
public function user_update(Request $request, $id)
{
// return $request->all();
$request->validate([
'name' => 'required',
'email' => 'required|email|unique:users,email,' . $id,
'phone' => 'nullable|unique:users,phone,' . $id,
'about' => 'nullable|string',
'grad' => 'nullable|numeric',
]);
$user = User::find($id);
$user->name = $request->name;
$user->email = $request->email;
$user->phone = $request->phone;
$user->about = $request->about;
$user->address = $request->address;
$user->city = $request->city;
$user->zip = $request->zip;
$user->grad = $request->grad;
$user->favourite_subject = $request->favourite_subject;
$user->github = $request->github;
$user->linkedin = $request->linkedin;
if ($request->hasFile('photo')) {
$photo = $request->file('photo');
$request->validate([
'photo' => 'max:10240|mimes:jpeg,jpg,png',
]);
if ($user->photo != 'images/user/user.png') {
$link = base_path('public/' . $user->photo);
if (file_exists($link)) {
unlink($link);
}
}
$photo_name = $this->UploadOne($photo, 'images/user', [120, 120]);
$user->photo = $photo_name;
}
$user->save();
return redirect()->route('settings')->with('success', 'Your profile updated');
}
解决方案
推荐阅读
- powershell - Extracting data from csv files using powershell sort and group
- python - 给定开始和结束日期的熊猫,将它们分成每周频率和计数
- javascript - 同一个 DOM 对象如何可以同时在多个范围内具有单独的事件实例,我如何分配给匿名的?
- python - 将 pandas 系列和数据框对象转换为 numpy 数组
- javascript - 使用角度增强 index.html 的扫描问题
- jquery - 如果 url 未定义,则隐藏按钮
- sql-server - 在 SQL Azure 数据库中更改 USER DBO 的 SID
- laravel - laravel 6. 子关系的子关系的ActiveCount
- ios - 规范未通过验证,CocoaPod Generation Lint Error
- node.js - 如何为整个节点应用程序创建分叉进程?