2016-05-13 185 views
-1

我想在results表中插入用戶的名稱,圖像和樂譜。通過比較quiz表中的正確答案來計算分數。一切都很好,其他數據,但與圖像上傳,但它不是名稱JPG的圖像?圖片上傳與laravel:文件上傳,但它不是圖像

這是我如何使用表單在視圖中提交。

<form method="POST" action="{{url("quiz/check/{$quiz[0]->category}/2")}}" enctype="multipart/form-data"> 

和路線爲:

Route::post('/quiz/check/{name}/{no}', '[email protected]'); 

控制器:

 public function check(Request $request, $name, $no) 
    { 

    $count=0; 
    $input=$request->all(); 
    $mycheck=$input['mycheck']; 
    $eman=$input['name']; 

     $stmt = quiz::where('category',$name)->where('level',$no)->get(); 
     $array=['category'=>$name,'level'=>$no];    
     $cat = quiz::where($array)->first(); 

    foreach ($stmt as $c) 
    { 

     if(array_key_exists($c->qid, $mycheck) && $mycheck[$c->qid]==$c->answer) 
      { 
       $count=$count+1; 
     } 
    } 

     $imageName = $request->file('image')->getClientOriginalExtension(); 

     $request->file('image')->move(
     base_path() . '/public/images/', $imageName); 


    $addscore= Result::insert(['Name'=>$eman,'Score'=>$count,'Level'=>$no,'Category'=> $name,'Image'=>$imageName]); 

     return View('quiz.check',['stmt'=>$stmt,'input'=>$input,'count'=>$count,'eman'=> $eman,'cat'=>$cat,'mycheck'=>$mycheck,'addscore'=>$addscore]); 

} 
+0

試圖在非線上獲取非對象的屬性? –

+0

也不應該'$ request-> file('image') - > move'是'$ request-> file('image') - > move('? –

回答

1

這部分$stmt=DB::select('select * from results');將在陣列的結果,這就是問題所在。

另一個問題是您正在使用DB。爲什麼在Laravel提供口才時自己寫查詢?

您應該使用模型作爲您的對象,如Result。然後,您可以簡單地訪問所有值,例如:Result::all()等等。

我對你的建議,是閱讀一些教程,甚至更好地從laracasts初學者系列開始!

+0

正如你所建議的,我現在正在使用雄辯和學習一些教程,但在這裏觸發。我現在更新了這個問題。 – Steve