Laravel Eloqunt множественный выбор в зависимости от условий - PullRequest
0 голосов
/ 02 сентября 2018

Я не мог найти ничего об этом, только с другими вещами Eloqunt, такими как функции where. Я попробовал кое-что, но это не сработало.

Так что с Eloqunt вы можете сделать что-то вроде:

$user = User::where('id', '=', $id); 

в зависимости от типа пользователя, который я получаю откуда-то еще, я добавляю select

пример:

switch($user_type) {
            case 10:
                $user->select('id',
                    'firstname',
                    'lastname',
                    'email',
                break;
            case 40:
                $user->select('id',
                    'firstname',
                    'lastname');
                    'email',
                    'someMoreFields', //etc
                break;

        }

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

if($someCondition) {
    $user->select('type');
}

Но это приводит к тому, что пользовательский объект возвращает, к сожалению, только столбцы, основанные на последнем выборе ('type'). Кто-нибудь знает, как использовать несколько вариантов выбора или обойти. Было бы неплохо даже указать мне какую-нибудь документацию, потому что я ничего не смог найти.

1 Ответ

0 голосов
/ 02 сентября 2018

Вы можете использовать addSelect ()

if($someCondition) {
    $user->addSelect('type');
}

или просто создайте массив, который вы используете в select ():

$select = ['id', 'firstname', 'lastname'];

if($someCondition) {
    $select[] = 'type';
}

$user->select($select);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...