我正在尝试在学生表格中插入演讲ID。我需要将学生的ID和讲座的ID传递给控制器。我正在使用axios将2个参数发布到控制器。我的代码不起作用,我做错了吗? Laravel的新功能。谢谢
Vue组件
<a href="" @click="setLectureFK(student.student_id)"><i class="fas fa-user-plus"></i></a>
<script>
export default {
data () {
return {
student:'',
lecture_id:this.$route.params.id,
}
},
methods:{
setLectureFK($student_id){
axios.post('/api/internship/setLecture/'+$lecture_id,'/'+$student_id);
}
},
}
控制器
public function setLecture($lecture,$student)
{
$student = student::findOrFail($student);
$student->lecture_id_FK = $lecture;
$student->save();
}
API.PHP
Route::post('internship/setLecture/{lecture}/{student}', 'API\InternshipController@setLecture')->name('internship.setLecture');
答案 0 :(得分:0)
据我所知,您的vue组件中存在语法错误。
在这一行
axios.post('/api/internship/setLecture/'+$lecture_id,'/'+$student_id);
您用逗号代替+应该是这样
axios.post('/api/internship/setLecture/'+$lecture_id+'/'+$student_id);
答案 1 :(得分:0)
尝试一下:
Vue组件
<a href="" @click="setLectureFK(student.student_id)"><i class="fas fa-user-plus"></i></a>
<script>
export default {
data () {
return {
student:'',
lecture_id:this.$route.params.id,
}
},
methods:{
setLectureFK(student_id){
axios.post('/api/internship/setLecture',{student_id:student_id,lecture_id:this.lecture_id});
}
},
}
控制器
public function setLecture(Request $request)
{
$student = student::findOrFail($request->student_id);
$student->lecture_id_FK = $request->lecture_id;
$student->save();
}
api.php
Route::post('internship/setLecture', 'API\InternshipController@setLecture')->name('internship.setLecture');