Laravel доступ к значениям из объекта в объект
В одной из функций контроллера
$readings = Reading::orderBy('reading_date_time', 'DESC')->get();
dd($readings);
Это дает
Illuminate\Database\Eloquent\Collection {#1883
#items: array:160 [
0 => App\Reading {#1722
#fillable: array:6 [ …6]
#connection: "mysql"
#table: "readings"
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:8 [ …8]
#original: array:8 [ …8]
#changes: []
#casts: []
#dates: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#hidden: []
#visible: []
#guarded: array:1 [ …1]
}...
Как я могу получить доступ к фактическим значениям таблицы чтений. И используйте их для таких операций, как array_column().
Ответы - Laravel доступ к значениям из объекта в объект / Laravel access values from object in object

15.03.2020 10:30:23
Эта функция уже дает вам результат, и результатом является сбор данных .
Вы можете вызвать атрибут по одному объекту в коллекции:
$readings->first()->reading_date_time;
и вы можете использовать метод-pluck, чтобы получить значения атрибутов из коллекции, это так же, как array_column
:
$readings->pluck('reading_date_time');
Если вы используете array_column
, вы можете использовать метод-toArray для изменения коллекции в массив:
array_column($readings->toArray(), 'reading_date_time')

15.03.2020 10:30:35
Вы можете использовать помощник toArray()
Метод toArray преобразует коллекцию в простой PHP-массив. Если ценности коллекции-это красноречивые модели, модели также будут преобразованы в массивы
$readings = Reading::orderBy('reading_date_time', 'DESC')->get()->toArray();
/*
[
['column1' => 'value1', 'column2' => 'value2', ...],
['column1' => 'value1', 'column2' => 'value2', ...],
['column1' => 'value1', 'column2' => 'value2', ...],
...
]
*/
Тогда вы можете использовать array_column()
на массиве $readings
$pluckedValues = array_column($readings, 'chosen_column');
print_r($pluckedValues);