为什么总是这个错误未定义变量 $question

问题描述

我尝试将数据库中的数据提供给blade.PHP

控制器:

class DataController extends Controller
{
// sql query from datebase
public  function  question_number()
{
    $questions =  DB::table('questions')->sum('id');

    return  view('/statistics',['question'  =>  $questions ]);
}


public  function  group_number()
{
    $groups =  DB::table('groups')->sum('id');

    return  view('/statistics',['group'  =>  $groups ]);
}

}

在那里我定义了值 $question$group

在 Blade.PHP 中我尝试使用这个值:

<div>Die Anzahl von Fragen</div>
                    <p> {{ $question }} </p>
                    <div>Die Anzahl von Gruppen</div>
                    <p> {{ $group }} </p>  

在途中

Route::get('/statistics','DataController@question_number');
Route::get('/statistics','DataController@group_number');

错误总是

未定义变量 $question

我错过了什么?我该怎么办?

解决方法

我想您想将 2 个变量发送到一个视图。为此,您不需要 2 routes 和 2 controllers。事实上,你不能那样做。

路由文件:

Route::get('/statistics','DataController@question_number');

控制器:

class DataController extends Controller
{
    // sql query from datebase
    public  function  question_number()
    {
        $questions =  DB::table('questions')->sum('id');
        $groups =  DB::table('groups')->sum('id');

        return  view('/statistics',['question'  =>  $questions,'group' => $groups]);
    }     
}

查看(无变化):

<div>Die Anzahl von Fragen</div>
                    <p> {{ $question }} </p>
                    <div>Die Anzahl von Gruppen</div>
                    <p> {{ $group }} </p>