Сложный запрос данных со сводной таблицей в laravel eloquent или SQLPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сложный запрос данных со сводной таблицей в laravel eloquent или SQL

Сообщение Anonymous »

Пожалуйста, взгляните на этот пример схемы базы данных.

Изображение


Мои пользователи могут иметь близорукость разной степени.

Предположим, у меня есть много-ко-многим отношениям между пользователями и типами контактных линз.

Пользователь может иметь много контактных линз разных цветов и классов.

Теперь я хочу найти количество контактных линз разных классов (или цветов), которые есть у пользователей с одинаковой степенью близорукости.

Это для того, чтобы составить некоторую статистику.

Например, я хочу выяснить, используют ли люди с одинаковой степенью близорукости контактные линзы одинаковой степени и какого они цвета предпочитаю больше.

Как бы вы получили все эти оценки или цвета, учитывая предпосылки (пользователи с одинаковой степенью близорукости) и с этой схемой БД? Это может быть красноречиво или SQL.

--- пока я пробовал это:

Код: Выделить всё

$user = Auth::id();

$myopia = $user->myopia_grades_id;

$example_lens_id = 1;

$users = User::with('contact_lenses_types')->whereHas('myopia_grades', function ($query) use ($myopia) {
$query->where('id', '=', $myopia);
})->whereHas('contact_lenses_types', function ($query) use ($example_lens_id){
$query->where('lens_id', '=', $example_lens_id);
})->get();

$lenses = [];

foreach($users as $i){

$lens = $i->contact_lenses_types;

$lenses[] = $lens;

};

return $lenses;
и кажется, что он работает, возвращая все линзы типа 1, которые есть у пользователей с близорукостью той же степени, что и у пользователя, выполняющего аутентификацию.

Подробнее здесь: https://stackoverflow.com/questions/359 ... ent-or-sql
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»