【问题标题】:Laravel access values from object in objectLaravel 从对象中的对象访问值
【发布时间】:2020-06-26 15:47:43
【问题描述】:

在其中一个控制器功能中

$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() 等操作。

【问题讨论】:

标签: arrays laravel collections eloquent model


【解决方案1】:

这个函数已经给你结果了,结果是collection

您可以通过集合中的单个对象调用该属性:

$readings->first()->reading_date_time;

你可以使用method-pluck从集合中获取属性值,就像array_column

$readings->pluck('reading_date_time');

如果你使用array_column,你可以使用method-toArray将集合改为数组:

array_column($readings->toArray(), 'reading_date_time')

【讨论】:

    【解决方案2】:

    你可以使用toArray()helper

    toArray 方法将集合转换为普通的 PHP 数组。如果 该集合的值是 Eloquent 模型,模型也将是 转换为数组

    $readings = Reading::orderBy('reading_date_time', 'DESC')->get()->toArray();
    
    /*
        [
            ['column1' => 'value1', 'column2' => 'value2', ...],
            ['column1' => 'value1', 'column2' => 'value2', ...],
            ['column1' => 'value1', 'column2' => 'value2', ...],
            ...
        ]
    */
    

    那么你可以在$readings上使用array_column() array

    $pluckedValues = array_column($readings, 'chosen_column');
    
    print_r($pluckedValues);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-13
      • 1970-01-01
      • 2018-06-18
      • 2021-03-24
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多