php - 为什么我在尝试查找特定用户时从 laravel 的数据库中获取空值?
问题描述
我正在尝试使用学生 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');
我的studentprofile.blade.php
<li class="list-group-item">
<form action="{{URL::to('/student/resultshow/{!! $studentprofilePage->std_id !!}')}}" method="GET" enctype="multipart/form-data">
<input type="text" name="studentID" value="{!! $studentprofilePage->std_id !!}" hidden="">
<input type="text" name="academic_year" placeholder="Academic year..">
<button>view</button>
</form>
</li>
解决方案
有几件事要测试。首先,检查方法中的$std_id
变量,以确保它正确地从您的表单/路由转换为方法。
public function showResult(Request $request, $std_id){
dd($std_id);
如果这是一个格式正确的整数/id,请检查数据库以确保在学生表中实际分配了 id,并且如果您使用软删除(deleted_at
列),它不会被软删除。
如果那里一切顺利,请查看Student模型本身。模型是否指向正确的表?Laravel 假设该表名为“students”。如果没有,您是否在模型中声明了该表?
public $table = 'mySpecialStudentsTableName';
此外,id 类型是否正确与传入的内容相对应。我假设它是一个整数,但如果它正在寻找一个字符串/uuid,那么它是否正确地来自该$std_id
变量?
最后 - 您的表单未发送正确的 ID:
<form action="{{URL::to('/student/resultshow/{!! $studentprofilePage->std_id !!}')}}"
应该:
<form action="{{URL::to('/student/resultshow/'. $studentprofilePage->std_id)}}"
推荐阅读
- spring - java.util.Map.Entry 无法解析错误
- firebase - 是否可以在不验证用户身份的情况下从颤动中更新 Firebase CloudFirestore?
- oracle - 将分隔符数据转换为行和列
- javascript - 如何调用使 Angular 服务同步?
- nav - 如何使用本地 bootstrap.min.css(4.0 版)与 nav nav-tabs 类一起使用?
- php - 关联运动数据库中的表。赛程表 - 主队和客队
- c++11 - 为什么编译器将不同大小的 std::array 视为不同类型?
- revit - 在 xBim 中导入 3D 成像数据
- python - TypeError:使用 sop.brute 时,“int”类型的对象没有 len()
- r - geom_histogram 根据理论不提供直方图