Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我在尝试查找特定用户时从laravel中的数据库中获取空值?_Php_Laravel_Eloquent - Fatal编程技术网

Php 为什么我在尝试查找特定用户时从laravel中的数据库中获取空值?

Php 为什么我在尝试查找特定用户时从laravel中的数据库中获取空值?,php,laravel,eloquent,Php,Laravel,Eloquent,我试图使用学生ID在我的数据库中显示特定学生的信息。我似乎得到空值,但该学生仍存在于数据库中。我真的不知道为什么会得到这个空值 这就是我所做的 public function showResult(Request $request, $std_id) { $user = Student::find($std_id); if (empty($user)) { return redirect('/user') }

我试图使用学生ID在我的数据库中显示特定学生的信息。我似乎得到空值,但该学生仍存在于数据库中。我真的不知道为什么会得到这个空值

这就是我所做的

public function showResult(Request $request, $std_id)
    {   

      $user = Student::find($std_id);
      if (empty($user)) {
        return redirect('/user')
      }

        $academic = $request->input('academic_year');
        $std = $request -> input('studentID');

       $results = DB::table('students')
                  ->select('*')
                  ->join('results', 'students.std_id', 'results.student_results_id')
                  ->where('student_results_id', '=', $std)
                  ->where('academic_year', '=', $academic)
                  ->get();


                  return view('resultsdisplay',[
                  'results' => $results,
                  ]);
        }
}
这是我的路线:

Route::get('/student/resultshow/{std_id}', 'ResultsController@showResult');
Mystudentprofile.blade.php

  • 看法

  • 有几件事需要测试。首先,检查进入方法的
    $std_id
    变量,确保它正确地从表单/路由转换到方法中

    public function showResult(Request $request, $std_id){
         dd($std_id);
    
    如果这是一个格式正确的整数/id,请检查数据库,以确保id实际上是在students表中分配的,如果使用软删除(
    deleted_at
    列),则该id不是软删除的

    如果所有这些都很好,那么看看学生模型本身。模型是否指向正确的表格?Laravel假设表名为“学生”。如果没有,您是否在模型中声明了表

    public $table = 'mySpecialStudentsTableName';
    
    此外,id类型是否与即将到来的内容相对应。IE我假设它是一个整数,但如果它正在寻找一个字符串/uuid,它是否正确地从
    $std\u id
    变量中产生

    最后-您的表单未发送正确的id:

    <form action="{{URL::to('/student/resultshow/{!! $studentprofilePage->std_id !!}')}}"
    

    dd($std\u id)
    的结果是什么?可能您没有正确获取该变量。这是值
    null
    ,因此问题在于该变量,您如何尝试将该变量传递给该函数?请编辑你的问题。张贴你的控制器、路线等,并写下你是如何尝试执行该功能的。我认为你的表格是个问题。Blade没有在php指令中读取正确的转义。请参阅我答案的最后一部分-双重指令不起作用:)它现在起作用了..问题在于表单路由。我换了它,它就开始工作了。。非常感谢
    <form action="{{URL::to('/student/resultshow/{!! $studentprofilePage->std_id !!}')}}"
    
    <form action="{{URL::to('/student/resultshow/'. $studentprofilePage->std_id)}}"