2016-05-13 20 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

関連する問題