получить отличительные данные внешнего ключа с количеством в laravel - PullRequest
1 голос
/ 14 апреля 2020

У меня проблема с подсчетом отличного значения от mysql в laravel.

Модель проекта:

public function projectNotes()
{
    return $this->hasMany(ProjectNote::class, 'project_id');
}

Модель ProjectNote :

public function project()
{
    return $this->belongsTo(Project::class, 'project_id');
}

Таблица базы данных 'project_notes':

id  project_id  note
1      1        Project 1 Note 1
2      1        Project 1 Note 2
3      1        Project 1 Note 3
4      1        Project 1 Note 4
5      2        Project 2 Note 1
6      2        Project 2 Note 2
7      2        Project 2 Note 3
8      3        Project 3 Note 1
9      3        Project 3 Note 2
10     4        Project 4 Note 1

Мне нужно получить данные, как показано ниже:

id  project     count
1      1        4
2      2        3
3      3        2
4      4        1

1 Ответ

1 голос
/ 14 апреля 2020

Вы можете использовать withcount для подсчета записей.

$projects = Project::withcount('projectNotes')->with('projectNotes')->get();

С этим вы получите project_notes_count

...