Laravel метод отношений, чтобы получить некоторую сумму из массива - PullRequest
0 голосов
/ 28 марта 2020

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

tb teacher
|---------------------------------|
|id         |   name    | id_prodi|
-----------------------------------
|1          | Teacer A  | 1       |
|2          | Teacher B | 2       |
|3          | Teacher C | 1       |
tb prodi
|------------------------
|id         |   prodi   |
-------------------------
|1          | Prodi 1   |
|2          | Prodi 2   |
|3          | Prodi 3   |
tb year
|------------------------
|id         |   year    |
-------------------------
|1          | 2018      |
|2          | 2019      |
|3          | 2020      |
tb attendence
|---------------------------------------------------|
|id         |   teacher_id    | year_id |  date_in  |
-----------------------------------------------------
| 1         |  1              | 3       | 2020-03-20|
| 2         |  1              | 3       | 2020-03-21|
| 3         |  3              | 3       | 2020-03-21|
| 4         |  1              | 3       | 2020-03-22|


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

i have some condition with combobox to select by a year
|----------------------------------------------------------|
|#          |   name          | year       |  total_attend |
------------------------------------------------------------
| 1         |  Teacher A      | 2020       | 3             |
| 2         |  Teacher C      | 2020       | 1             |
some like thats for final result

, и это мой контроллер

public function showData(Request $request)
{
   $year = $request->year_id;
   $prodi_id = $request->prodi_id;

        $datas = Teacher::whereHas('attendance', function($query) use ($year) {
            $query->where('year_id', $year);
        })
        ->where('prodi_id',$prodi_id)
        ->get();

        return response()->json([
            'success' => 'Success',
            'data' => $datas
        ]);
    }

моя проблема в том, что я не могу получить общий столбец путем подсчета года посещаемости , У кого-нибудь есть подсказка ?? --help

...