Получение информации из разных отношений Laravel - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь получить информацию из 3 таблиц в Laravel 5.8, но до сих пор я ничего не придумал.

3 таблицы выглядят примерно так:

polls
    id - integer
    name - string
    status - tinyint

poll_options
    id - integer
    poll_id - integer
    image_id - integer
    status - tinyint

poll_images
    id - integer
    filename - varchar

У опроса есть несколько опций опроса, у каждого из них есть 1 изображение.

Я хотел бы получить варианты опроса со статусом опроса 1 и любые изображения, у которых есть опросы со статусом 1 * 1008.*

Мне нужно получить имя файла, идентификатор опции опроса и идентификатор опроса.

Я так растерялся

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 23 июня 2019

Если вы хотите использовать построитель запросов, то это может быть:

$results = DB::table('polls')->select('polls.id','poll_options.id','poll_images.filename')                            
                             ->join('poll_options','polls.id','=','poll_options.poll_id')
                             ->join('poll_images','poll_options.image_id','=','poll_images.id')
                             ->where([['polls.status','=','1'],
                                      ['poll_options.status','=','1'],])
                             ->get();
0 голосов
/ 22 июня 2019

Для этого вы можете использовать отношения «многие ко многим».Таким образом, вы можете создать два класса моделей и затем использовать отношение belongsToMany.Ниже ссылка: -

https://laravel.com/docs/5.8/eloquent-relationships#many-to-many

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