【发布时间】:2016-02-12 15:22:21
【问题描述】:
错误:
Attempt to assign property of non-object; ErrorException in AdminController.php line 40:
管理员控制器:
public function createSlider(AdminRequest $request)
{
$input = Request::all();
Sliders::create($input);
if (Request::hasFile('image')) {
$imageName = Request::input('title'). '.' .
$request->file('image')->getClientOriginalExtension();
$request->file('image')->move(
base_path() . '/public/assets/image/', $imageName
);
$input->image = $imageName; //------------> line 40.......
}
$input->save();
}
HTML:
{!!Form::open(array('url' => 'admin/new_slider', 'files' => true)) !!}
<div class = "form-group">
{!!Form::label('title', 'Title:', ['class' => 'control-label']) !!}
{!!Form::text('title', null, ['class'=> 'input-mini ina tch'])!!}
{!!Form::label('title', 'Description:', ['class' => 'control-label']) !!}
{!!Form::text('description', null, ['class'=> 'input-mini '])!!}
</div>
<div class = "form-group">
{!!Form::label('title', 'Link:', ['class' => 'control-label']) !!}
{!!Form::text('link', null, ['class'=> 'input-mini'])!!}
{!!Form::label('title', 'Image:', ['class' => 'control-label']) !!}
{!! Form::file('image', ['id' => 'imgInp', 'class' => 'prev-upload']) !!}
</div>
<div class = "form-group">
{!!Form::submit('Submit', ['class'=> 'btn btn-default'])!!}
</div>
{!!表单::close() !!}
我整个上午都在为此苦苦挣扎。我希望能够接受文件上传以及表单信息。重命名文件并不是我认为我可以让它工作的必要条件。有没有更好的方法来上传和移动这个文件?
【问题讨论】:
-
我在问题中指出了管理控制器内部的第 40 行。
-
啊,我错过了。稍作修改,语法高亮使其更加明显
-
可能是你的图片字段不对。
-
好的,首先,使用一个大杂烩的局部变量和静态调用都引用同一个对象是不会令人困惑的。当您使用方法注入时,请使用
$request变量,并删除静态Request::调用。这应该有助于澄清一些事情
标签: php forms laravel file-upload