【发布时间】:2018-05-28 18:34:19
【问题描述】:
也许是因为我累了,但我似乎无法为我的一个模型进行简单的上传。
在我的客户(不是用户)模型的显示详细信息页面上,我有一个简单的表单,用户可以在其中上传客户的徽标。
形式:
<form enctype="multipart/form-data" action="/customers/i/{{$customer->url_string}}" method="POST">
<input type="file" name="logoUpload">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<input type="submit" class="pull-right btn btn-sm btn-primary" value="Upload">
</form>
控制器:
public function logoUpload(Request $request){
if($request->hasFile('logoUpload')){
$path = Storage::putFile('public/customer/uploads', new File(request('logoUpload')));
$customer->car_logo = $path;
$customer->save();
return back();
}
}
我知道问题是我没有在控制器中定义 $customer,因为在我单击提交后文件确实将自身存储在正确的文件夹中,但它根本没有访问数据库。
更新
当前客户详情网址:
http://localhost:8000/customers/i/dsdado9a98w78721
post 路由的 web 定义:
Route::post('/customers/i/{customer}', 'CustomerController@logoUpload');
【问题讨论】:
-
你能显示你的路线定义和你正在点击的当前网址吗?
-
是的,我已经更新了我的问题。
-
路由参数引用
Customer上的哪个字段? -
{customer} 在我的客户表中引用了一个名为 url_string 的字段
标签: laravel laravel-5 file-upload controller upload