#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
значения в массив