首先,这是我的表格,其中显示了学生数据:
<div class="card-body table-responsive p-0">
<table class="table table-hover">
<tr>
<th>Student ID</th>
<th>Name(Lastname, Firstname)</th>
<th>Contact</th>
<th>Modify</th>
</tr>
<tr v-for="student in students.data" :key="student.student_id">
<td>{{student.student_id}}</td>
<td>{{student.lastname | upFirstLetter}}, {{student.firstname | upFirstLetter}} </td>
<td>{{student.contact_no}}</td>
<td>
<a href="#" data-toggle="modal" data-target="#viewModal" @click="loadStudentData(student.student_id)">
<i class="fas fa-eye text-teal"></i>
</a>
</td>
</tr>
</table>
</div>
单击视图图标后,它将调用并把student_id传递给名为 loadStudentData()
的函数loadStudentData(id) {
this.form.show('api/loadData' + id).then(({data}) => (this.studentsData = data));
}
以及控制器内部的function show($id)
public function show($id)
{
return Students::orderBy('student_id', 'asc')
->join('student_details', 'student_details.student_id', 'students.student_id')
->where('students.student_id', '=', $id)
->select('students.*', 'student_details.*');
}
这是我到目前为止已经尝试过的方法,我似乎无法使其正常工作。 预先感谢。
答案 0 :(得分:0)
尝试Implicit Binding,那就更好了
答案 1 :(得分:0)
我认为您在'api/loadData'
之后错过了一个斜杠。可能是
loadStudentData(id) {
this.form.show('api/loadData/' + id).then(({data}) => (this.studentsData = data));
}
但是,您没有在此处发布路线。