Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 14.01.2020 18:12:36

Метод pluck в БД

Добрый вечер, кто подскажет, есть что то подобное метода pluck для БД.
Загрузка настроек:

    private function loadSettings()
    {
        $this->all = Settings::select(['name', 'type', 'value', 'private'])->get()->mapWithKeys(
                function(Settings $settings) {
        return [$settings->name => $settings->toArray()];
    });
        // add config keys that should be included
        foreach ($this->configKeys as $clientKey => $configKey) {
            $this->set($clientKey, config($configKey));
        }
    }

Вывод настроек:

    public function all($private = false)
    {
        $all = $this->all;
        // filter out private (server-only) settings
        if ( ! $private) {
            $all = $all->filter(function($setting) use($private) {
                return !$setting['private'];
            });
        }
        
        return $all->pluck('value', 'name')->toArray();
    }

В итоге получается:

  "client_mod" => 0
  "fcsecret" => null
  "fcid" => null
  "fc" => 1
  "social" => 1

Но мне нужно еще дополнительное поле в выводе "type".
Подскажите как сделать...

Не в сети

#2 16.03.2020 12:19:41

Не в сети

#3 16.03.2020 16:43:18

Re: Метод pluck в БД

Выбрать только нужные поля ты можешь через перечисление в select() - два три или сколько надо, проиндексировать полученный результат по полю можно методом keyBy()

https://laravel.com/docs/master/collect … thod-keyby

Изменено artoodetoo (16.03.2020 16:44:07)


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

Подвал раздела