我正在学习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>
答案 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');