模板:
<form class="ui form {{ $errors->any() ? 'error' : '' }}" action="{{ url('book/store') }}" method="POST" enctype="multipart/form-data">
<div class="ui grid">
<div class="four wide computer column">
<input type="file" name="book[cover]" class="dropify" data-default-file=""
data-allowed-file-extensions="jpg png jpeg"/>
</div>
<div class="twelve wide computer column">
{{ method_field('PUT') }}
{{ csrf_field() }}
@include('common.formmessage')
<div class="two fields">
<div class="field">
<label>图书名称</label>
<input type="text" name="book[title]" value="{{ old('title') }}" placeholder="请输入图书名称">
</div>
<div class="field">
<label>作者名称</label>
<input type="text" name="book[author]" value="{{ old('author') }}" placeholder="请输入作者姓名">
</div>
</div>
<div class="field">
<label>图书简介</label>
<textarea rows="4" name="book[desc]"></textarea>
</div>
<div class="field">
<div id="editor">
<p>在这里输入图书主要内容</p>
</div>
</div>
<button class="ui green button" type="submit">确认发布</button>
<a class="ui red button" href="javascript:history.back()">返回</a>
<textarea name="book[content]" id="content" style="display: none"></textarea>
</div>
</div>
</form>
控制器:
public function store(Request $request)
{
//
$res = $request->input('book');
var_dump($res);die;
$data = $request->only([
'title','author','desc','cover','content'
]);
$file = $request->file('cover');
if($file){
$cover_path = $request->store('public/book');
$data['cover']=Storage::url($cover_path);
}
Book::create($data);
return back()->with('success','添加成功!');
}
路由:
Route::get('/book/store','BookController@store');
路由定义的 get ,表单里是 POST ,肯定不行。