Php 还书后删除数据库中的借书行
我正在制作一个图书借阅系统,我有一个档案页面,显示您借阅的图书,每个页面下方都有一个按钮,可以将您带到一个表单,在该表单中,您可以填写图书的条件,该按钮下方还有一个按钮,可以将数据发送到我数据库中的退货表,我想删除loan表中的loan,因为如果没有,那么loan将继续显示在profile页面中,用户可以根据需要多次返回同一本书。任何帮助都将不胜感激。 谢谢 profile.blade.phpPhp 还书后删除数据库中的借书行,php,laravel,Php,Laravel,我正在制作一个图书借阅系统,我有一个档案页面,显示您借阅的图书,每个页面下方都有一个按钮,可以将您带到一个表单,在该表单中,您可以填写图书的条件,该按钮下方还有一个按钮,可以将数据发送到我数据库中的退货表,我想删除loan表中的loan,因为如果没有,那么loan将继续显示在profile页面中,用户可以根据需要多次返回同一本书。任何帮助都将不胜感激。 谢谢 profile.blade.php <?php use App\Requests; use App\Loan; $request =
<?php
use App\Requests;
use App\Loan;
$request = Requests::where('userid', auth()->user()->userid)->get();
?>
@extends('layouts.app')
@section('content')
<div class="container">
<div class="panel panel-default">
<div class="panel-heading"><h1>Profile: {{ Auth::user()->f_name }}</h1></div>
<div class="panel-body">
<div class="container">
<h3>Requests</h3>
@foreach ($request as $request)
<ul>
<h4>Title: {{$request->r_title}}</h4>
<h4>Author: {{$request->r_author}}</h4>
<h4>Year: {{$request->r_year}}</h4>
<h4>Condition: {{$request->r_condition}}</h4>
<br/>
</ul>
@endforeach
</div>
<div class="container">
<h3>Loans</h3>
@foreach ($loan as $loan)
<ul>
<h4>Title: {{$loan->title}}</h4>
<h4>Start Date: {{$loan->startdate}}</h4>
<h4>Due Date: {{$loan->duedate}}</h4>
<br/>
<form action="{{url('returnform/'.$loan->loanid)}}" method="GET">
<input type="submit" name="returnbtn" value="returnform">
</form>
</ul>
@endforeach
</div>
</div>
</div>
</div>
@endsection
@extends('layouts.app')
@section('content')
<div class="container">
<div class="panel panel-default">
<div class="panel-heading"><h1>Return Book</h1></div>
<div class="panel-body">
<form action="{{url('returns')}}" method="POST">
{{ csrf_field() }}
<div>
<input type="hidden" name="lid" value="{{$loan->loanid}}" id="lid">
<input type="hidden" name="re_bookid" value="{{$loan->bookid}}" id="re_bookid">
<input type="hidden" name="re_title" value="{{$loan->title}}" id="re_title">
<input type="hidden" name="re_ddate" value="{{$loan->duedate}}" id="re_ddate">
</div>
<div>
<label for="title"><h4>Enter the books condition: </h4></label>
<select name ="re_condition" value="{{old('condition')}}">
<option value="mint">Mint</option>
<option value="good">Good</option>
<option value="fair">Fair</option>
<option value="poor">Poor</option>
</select>
</div>
<input type="submit" name="btn" value="returns">
</form>
</div>
</div>
</div>
@endsection
路线
....
Route::get('returnform/{loanid}', 'BookController@returnform');
Route::post('returns', 'BookController@returns');
要删除表中的行,请使用以下代码
function deletereturns(Request $request, $loanid) {
$return = Return::find($loanid);
$return->delete();
// return to some place
}
添加一条路线并完成它
但我建议您在表中使用boolean创建一个新列,并将default设置为false每次用户试图删除贷款时,只需将false更改为true
列出贷款时,请使用where条件排除所有已删除的贷款
这有助于您了解是谁删除了所有贷款,这可能会在任何方面有所帮助,
$loanid
参数在您的方法中不起作用,因为您没有向它传递任何值。但是,您正在一个隐藏的表单字段中设置贷款id。因此,执行此操作可以使用贷款id删除贷款
Loan::destroy($request->lid);
当用户返回图书时,还应该添加一些检查。检查具有贷款id的贷款是否存在,并检查登录用户和贷款用户是否匹配。因为现在有了你的代码,任何用户都可以归还任何其他用户借来的书。我不会删除它,我会在时间戳上设置一个
returned\u并基于此进行过滤。
Loan::destroy($request->lid);