Красноречивая таблица связей - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть 2 таблицы. Один с некоторыми значениями, а другой с группами. Я хочу соединить значения слева, чтобы сохранить запросы и вернуть group-one в следующем формате:

[
    'primary' => 'linear-gradient(90deg, rgba(18,23,64,1) 0%, rgba(0,145,209,1) 100%)',
    'secondary' => 'linear-gradient(90deg, rgba(245,128,31,1) 0%, rgba(252,235,20,1) 100%)',
    'logo-primary' => '#121740',
    'logo-secondary' => '#F5801F',
    'badge' => 'linear-gradient(180deg, rgba(252,235,20,1) 0%, rgba(245,128,31,1) 100%)'
]

Это строка, которую я получаю из таблицы групп:

BrandingGroups

[
    'primary' => 1,
    'secondary' => 2,
    'logo-primary' => 3,
    'logo-secondary' => 4,
    'badge' => 5
]

И это таблица значений:

BrandingValues ​​

[
    [
        'id' => 1,
        'name' => 'primary-gradient-primary',
        'value' => 'linear-gradient(90deg, rgba(18,23,64,1) 0%, rgba(0,145,209,1) 100%)',
    ],
    [
        'id' => 2,
        'name' => 'primary-gradient-secondary',
        'value' => 'linear-gradient(90deg, rgba(245,128,31,1) 0%, rgba(252,235,20,1) 100%)',
    ],
    [
        'id' => 3,
        'name' => 'primary-flat-primary',
        'value' => '#121740',
    ],
    [
        'id' => 4,
        'name' => 'primary-flat-secondary',
        'value' => '#F5801F',
    ],
    [
        'id' => 5,
        'name' => 'primary-vertical-gradient',
        'value' => 'linear-gradient(180deg, rgba(252,235,20,1) 0%, rgba(245,128,31,1) 100%)',
    ]
]

Какой лучший способ вернуть Мой желаемый результат - просто соединения, так что это все один запрос, так как очевидно, что отношения выполняют несколько запросов, основываясь на том, запрашивается ли значение, однако все эти значения гарантированно будут запрошены.

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