ErrorException 未定义变量 $k1

时间:2021-07-01 12:08:36

标签: php laravel

我正在学习laravel但是总是有问题 我已经定义了 k1 值,但总是存在未定义的问题

这是我的控制器

class DozentController extends Controller
{
    // sql query from datebase
    public  function  number()
    {
        $questions =  DB::table('questions')->count('id');
        $kapitel1 = DB::table('questions')->where('chapters_id','1')->count('id');
        $kapitel2 = DB::table('questions')->where('chapters_id','2')->count('id');
        $kapitel3 = DB::table('questions')->where('chapters_id','3')->count('id');
        $kapitel4 = DB::table('questions')->where('chapters_id','4')->count('id');
        $kapitel5 = DB::table('questions')->where('chapters_id','5')->count('id');
        $kapitel6 = DB::table('questions')->where('chapters_id','6')->count('id');
        $kapitel7 = DB::table('questions')->where('chapters_id','7')->count('id');
        $kapitel8 = DB::table('questions')->where('chapters_id','8')->count('id');
        $kapitel9 = DB::table('questions')->where('chapters_id','9')->count('id');


        return  view('/statisticsA',['question'  =>  $questions , 'group' => $groups , 'k1' => $kapitel1 ,
         'k2' => $kapitel2 , 'k3' => $kapitel3 , 'k4' => $kapitel4 , 'k5' => $kapitel5 , 
         'k6' => $kapitel6 , 'k7' => $kapitel7 , 'k8' => $kapitel8 , 'k9' => $kapitel9]);
    }
}

这是我的路线

Route::get('/statisticsA', 'DozentController@number');
Route::get('/statisticsA', [
    'uses' => 'PagesController@getStatisticsAdmin',
    'as' => 'statisticsA',
    'middleware' => 'roles',
    'roles' => ['Author','Admin']
])->middleware('auth');

还有我的刀

<div>Die Anzahl von Fragen für Kapitel 1</div> 
                    <p> {{ $k1 }} </p>

1 个答案:

答案 0 :(得分:0)

一个查询就可以逃脱

$questions = DB::table('questions')->selectRaw('COUNT(chapters_id) AS total, chapters_id')->groupBy('chapters_id', 'asc');

SQL 将是:

SELECT chapters_id, COUNT(chapters_id) as total FROM questions GROUP BY chapters_id;

这会让你按章节计数。

同样在您的情况下,第二条路线不起作用。由于 Laravel 在解析时永远不会看到这条路线,因此您的 PagesController@getStatisticsAdmin 永远不会捕捉到结果。

Route::get('/statisticsA', [
    'uses' => 'PagesController@getStatisticsAdmin',
    'as' => 'statisticsA',
    'middleware' => 'roles',
    'roles' => ['Author','Admin']
])->middleware('auth');
相关问题