Laravel PHP получает значения из определенного столбца

#php #laravel #eloquent

#php #laravel #красноречивый

Вопрос:

Я использую красноречивую модель.
Пример таблицы:

 column_1 | column_2 | column_3
---------|----------|---------
data_1   | data_2   | 1
---------|----------|---------
data_4   | data_5   | 1
---------|----------|---------
data_7   | data_8   | 0
  

Я хотел бы получить каждое значение из того, column_2 где column_3 находится 1 .
Итак, в этом случае: data_2 и data_5

Я устал where(...)->select('column_2')->get()->toArray() , но он также возвращает имя столбца:
[{"column_2":"data_2"},{"column_2":"data_5"}]

Мне нужен простой массив, возвращаемый следующим образом:
[data_2, data_5] или { "name": ["data_2", "data_5"] }

Ответ №1:

Попробуйте использовать метод pluck вместо select

 where(...)->pluck('column2');
  

Ответ №2:

Вы можете сделать

 Model::where('column_3', 1)->pluck('column_2')->toArray();
  

метод toArray() преобразует collection значения в массив