2015-07-19 63 views
1

任何人都可以帮助我呢?我尝试为我的项目更新新图像,但它会得到错误。如果我不选择新图像,只更新内容即可,但新图片无法更新。这是我的代码无法更新laravel 5.1中的图像?

public function updateStudent(UpdateStudentRequest $request){//(Request $request) 
    $id = $request->input('id'); 
    $student = Students::find($id); 

    if($request->hasFile('pic')){ 
    $path = 'images/'; 
    $file = Image::make(input::file('pic')); 
    $fileName = Input::file('pic')->getClientOriginalName(); 
    $file->save($path."original/".$fileName); 
    $students->original = $path."original/".$fileName; 
    //get the desire image size 
    $file->fit(120,90); 
    $file->save($path."fit/".$fileName); 
    $students->image = $path."fit/".$fileName; 
    } 

    $student->first_name = $request->input('first_name'); 
    $student->last_name = $request->input('last_name'); 
    $student->email = $request->input('email'); 
    $student->password = $request->input('password'); 
    $student->address = $request->input('address'); 

    $student->save(); 
    } 

这是错误:

ErrorException in Crud.php line 73: 
Creating default object from empty value 
+0

我没有测试代码,但最初我发现 '$文件=图像::化妆(输入::文件(“PIC”));' 的问题是你的外墙 没有输入正面,应该是 '$ file = Image :: make(Input :: file('pic'));' case case,看看它是否适合你 –

+0

第73行是什么? –

+0

@ jedrzej.kurylo第73行// $ students-> original = $ path。“original /".$ fileName; – july77

回答

1

看来你$学生变量是空的。当您尝试将值分配给对象的属性时,会出现此错误,但对象引用为空。

在未来使用学生:: findOrFail($ ID)的代替学生::发现($ ID),这样你会确保,如果对象找不到,你会得到一个例外。

+1

哦,上帝!我只是发现变量$学生不是$学生,但无论如何非常感谢你,试图帮助我这一点。 @ jedrzej.kurylo – july77