Как запросить отдельные месяцы, используя данные из таблицы, используя красноречивый или необработанный запрос - PullRequest
0 голосов
/ 20 мая 2018

У меня есть таблица с именем посещаемость, в которой есть столбцы

Schema::create('attendances', function (Blueprint $table) {
        $table->increments('id');
        $table->string('school_registration_number');
        $table->integer('students')->default(0);
        $table->integer('books_borrowed')->default(0);
        $table->integer('fiction_english')->default(0);
        $table->integer('fiction_swahili')->default(0);
        $table->integer('chem')->default(0);
        $table->integer('bio')->default(0);
        $table->integer('geo')->default(0);
        $table->integer('math')->default(0);
        $table->integer('civ')->default(0);
        $table->integer('kis')->default(0);
        $table->integer('his')->default(0);
        $table->integer('eng')->default(0);
        $table->string('date');
        $table->string('month');
        $table->string('year');
    });

И теперь я хотел бы запросить пример годового отчета 2017, где я могу иметь возможность выбирать отдельные месяцы года и отображать строки каждого месяца.сумма студентов, сумма каждой книги, взятой в долг в этом месяце 2017 года

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Мне удалось написать запрос для моей проблемы

$sql = "SELECT DISTINCT month, sum(students) as students, sum(books_borrowed) as books_borrowed, sum(fiction_english) as feng,sum(fiction_swahili) as fkis,sum(chem) as chem,sum(bio) as bio, sum(geo) as geo,sum(math) as math, sum(civ) as civ,sum(kis) as kis,sum(his) as his,sum(eng) as eng
        FROM attendances
        WHERE year = $year AND school_registration_number = '$regno' GROUP BY month";

$ result = DB :: select (DB :: raw ($ sql));

0 голосов
/ 20 мая 2018

Это должно работать:

<?php
$sql = <<<SQL
SELECT DISTINCT COUNT(students), COUNT(books_borrowed), month, year
FROM attendances
WHERE year = '2017'

SQL; 
$result = DB::select(DB::raw($sql));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...