Php 为什么我在尝试查找特定用户时从laravel中的数据库中获取空值?
我试图使用学生ID在我的数据库中显示特定学生的信息。我似乎得到空值,但该学生仍存在于数据库中。我真的不知道为什么会得到这个空值 这就是我所做的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') }
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)}}"