更新时出现错误。
app.js
approveleave() {
var idapprove = document.getElementById("leave_id").value;
alert(idapprove);
axios.post('/approveleave/' + idapprove)
.then(response => {
this.showModal=false;
this.getleaveItems(); //view list
});
// this.leave = true;
this.update = true;
},
controller.php
public function requestApproveLeave(Request $request, $id){
$leavedata = LeaveRequest::where('leave_id', $id);
if($leavedata->head == 'pending' ){
$leavedata->head = 'approved';
// $data->hr = 'approved';
$leavedata->save();
return $leavedata;
}else{
return $leavedata;
}
}
public function requestLeave(){
$leaveIds = DB::select('SELECT * FROM leave_requests lr INNER JOIN users u ON lr.user_id = u.id');
return $leaveIds;
}
我在view.blade.php
中有一个按钮,该按钮将更新为批准。发生的是,当我单击并签入控制台时,出现了500 server internal error
。我的路线,控制器和getleaveItems
正常工作。
答案 0 :(得分:0)
在您的控制权之内
$leavedata = LeaveRequest::where('leave_id', $id);
这时$ leavedata只是查询生成器的一个实例,因此低于该点的任何尝试访问检索到的模型属性的代码都将失败
根据当前设置,您应该在末尾添加firstOrFail()。
$leavedata = LeaveRequest::where('leave_id', $id)->firstOrFail();
因此,如果找不到记录,该方法将安全地中止并返回404错误。