繁体   English   中英

Laravel:刀片中未定义的变量?

[英]Laravel : Undefined variable in blade?

在获取未定义的变量时:在执行刀片视图时在视图中得分(视图:C:\\ Users \\ Sarthak \\ blog \\ resources \\ views \\ submitquestion.blade.php):

控制器部分

public function question(Request $request)
{
    static $startscore = 0;
    $getidvalue = Input::get('getid');
    $getanswervalue = Input::get('getanswer');
    $dbscore = DB::table('5question')->select('question_id', 'correct_answer', 'question_marks')->where('question_id', '=', $getidvalue)->get();
    foreach($dbscore as $value) {
        if ($getanswervalue == ($value->correct_answer)) {
            $getscore = $startscore + $value->question_marks;
        }
        elseif ($getanswervalue == null) {
            $emptyvalue = - 1;
            $getscore = $startscore + $emptyvalue;
        }
        else {
            $novalue = 0;
            $getscore = $startscore + $novalue;
        }
    }

    echo "$getscore";
    Session::push('getscoresession', $getscore);
    $getsession = ['qid' => $getidvalue, 'answer' => $getanswervalue];
    Session::push('answer', $getsession);

    // return response()->json(['qid'=>$getidvalue,'answer'=>$getanswervalue]);

    $score = array_sum(Session::get("getscoresession"));

    // return view('submitquestion',compact('score'));

    return view('submitquestion', ['score' => $score]);
}

叶片部分:

您已提交测验,您的分数是:{{$ score}}>注销

试试这个:

return view('submitquestion', compact('score'));

您可以通过withcompact传递变量形式的控制器来查看:

$request->session()->put('getscoresession', $getscore);
$getsession = ['qid' => $getidvalue, 'answer' => $getanswervalue];
$request->session()->put('answer', $getsession);

if ($request->session()->has('getscoresession')) {
     $score = array_sum($request->session()->get("getscoresession"));
}else{
      $score = 0;
 }

与使用:

$score= 10;  
return view('submitquestion')->with('score',$score);

使用紧凑:

return view('submitquestion',compact('score'));

试试吧。 如果从控制器收到错误,则发送$ score = 10; 返回视图('submitquestion')-> with([['score'=> $ score]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM