2015-07-19 125 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