2017-04-11 133 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()}} 
相关问题