2017-04-11 131 views
0

當我填寫提交表單時它給此按摩BadMethodCallException在Macroable.php第74行: 方法存儲不存在。如何使用Store()方法將圖像存儲在數據庫中的laravel 5.2

ArticleController

public function store(Request $request) 
{ 
    $file = $request->file('attach'); 
    $filename = $file->store('local'); 
    $article = new Article; 
    $article->title = $request->title; 
    $article->body = $request->body; 
    $article->attachment = $filename; 
    $article->save(); 
    Session::flash('msg','Your data is saved now'); 
    return back(); 
} 

addarticle.blade.php

{{Session::get('msg')}} 
<form class="container col-lg-6" action="article" method="post" enctype ="multipart/form-data"> 
{{csrf_field()}} 
<div class="form-group"></div> 
    Title <input type="text" class="form-control" name="title"> 
    Body <textarea name="body" id="" class="form-control" cols="30" rows="10"> 
</textarea> 
    <input type="file" name="attach"> 
    <input type="submit"> 
</div> 

路線

Route::get('/', function() { 
return view('welcome'); 
}); 
Route::get('article','[email protected]'); 
Route::post('article','[email protected]'); 
Route::get('allarticle','[email protected]'); 
+0

我改變,但仍同樣的錯誤 –

+0

順便說一句,按照「引導規範」的HTML是無效的。 –

回答

1

更改您的開幕形式標記線:

<form class="container col-lg-6" action="{{action('[email protected]')}}" method="post" enctype="multipart/form-data"> 

這將產生在表格將被提交,我們會更不容易出錯的URL。因爲可能錯誤是你已經在/articleaction="article"生成像/article/article網址。


PS:您的HTML根據「bootstrap的標準」無效。

+0

我改變了它,但仍然存在同樣的錯誤,我從博客中讀到,商店方法在laravel 5.2中不可用。是不是? –

+0

'store()'是控制器中的一種方法。你正在定義它。 「沒有在laravel 5.2中可用」沒有辦法。 –

0

改變你的表單標籤是這樣的: -

<form class="container col-lg-6" action="{{ url('article') }}" method="post" enctype ="multipart/form-data">{{csrf_field()}} 
相關問題