Почему flatten () не влияет на эту коллекцию - Lumen / Laravel? - PullRequest
1 голос
/ 04 февраля 2020

У меня создана следующая коллекция:

$join = coretable::with($permittedTables)->findMany(1);

Где $permittedTables - массив имен таблиц.

Результаты выборки выглядят так:

[{
  "id": 1,
  "Internal_key": "TESTKEY_1",
  "extensiontable_itc": {
    "description": "EXTENSION_iTC_1"
  },
  "extensiontable_sysops": {
    "description": "EXTENSION_SYSOPS_1"
  }
}]

Теперь я хочу использовать flatten для результатов, например:

$join = $join->flatten();

Но ничего не происходит, я даже не получаю сообщение об ошибке xD Согласно официальному сообщению c, это должно как минимум произвести что-то даже его нежелательный результат: https://laravel.com/docs/5.8/collections#method -flatten

Я также попытался указать глубину массива вручную, передав 1 или 2 его параметру, но он ничего не меняет ^ ^ Кто-нибудь может дать мне подсказку, что мне не хватает?

РЕДАКТИРОВАТЬ: Вот dd() результат для $join:

^ Illuminate\Database\Eloquent\Collection {#109
  #items: array:1 [
    0 => App\CoreTable {#112
      #table: "coretable"
      #fillable: array:1 [
        0 => "Internal_key"
      ]
      #hidden: array:2 [
        0 => "created_at"
        1 => "updated_at"
      ]
      #connection: "mysql"
      #primaryKey: "id"
      #keyType: "int"
      +incrementing: true
      #with: []
      #withCount: []
      #perPage: 15
      +exists: true
      +wasRecentlyCreated: false
      #attributes: array:4 [
        "id" => 1
        "Internal_key" => "TESTKEY_1"
        "created_at" => null
        "updated_at" => "2020-02-04 12:34:29"
      ]
      #original: array:4 [
        "id" => 1
        "Internal_key" => "TESTKEY_1"
        "created_at" => null
        "updated_at" => "2020-02-04 12:34:29"
      ]
      #changes: []
      #casts: []
      #dates: []
      #dateFormat: null
      #appends: []
      #dispatchesEvents: []
      #observables: []
      #relations: array:2 [
        "extensiontable_itc" => App\extensiontable_itc {#95
          #table: "extensiontable_itc"
          #hidden: array:4 [
            0 => "id"
            1 => "coretable_id"
            2 => "created_at"
            3 => "updated_at"
          ]
          #fillable: array:1 [
            0 => "description"
          ]
          #connection: "mysql"
          #primaryKey: "id"
          #keyType: "int"
          +incrementing: true
          #with: []
          #withCount: []
          #perPage: 15
          +exists: true
          +wasRecentlyCreated: false
          #attributes: array:5 [
            "id" => 1
            "coretable_id" => 1
            "description" => "EXTENSION_iTC_1"
            "created_at" => null
            "updated_at" => null
          ]
          #original: array:5 [
            "id" => 1
            "coretable_id" => 1
            "description" => "EXTENSION_iTC_1"
            "created_at" => null
            "updated_at" => null
          ]
          #changes: []
          #casts: []
          #dates: []
          #dateFormat: null
          #appends: []
          #dispatchesEvents: []
          #observables: []
          #relations: []
          #touches: []
          +timestamps: true
          #visible: []
          #guarded: array:1 [
            0 => "*"
          ]
        }
        "extensiontable_sysops" => App\extensiontable_sysops {#92
          #table: "extensiontable_sysops"
          #hidden: array:4 [
            0 => "ID"
            1 => "coretable_id"
            2 => "created_at"
            3 => "updated_at"
          ]
          #fillable: array:1 [
            0 => "description"
          ]
          #connection: "mysql"
          #primaryKey: "id"
          #keyType: "int"
          +incrementing: true
          #with: []
          #withCount: []
          #perPage: 15
          +exists: true
          +wasRecentlyCreated: false
          #attributes: array:3 [
            "ID" => 1
            "coretable_id" => 1
            "description" => "EXTENSION_SYSOPS_1"
          ]
          #original: array:3 [
            "ID" => 1
            "coretable_id" => 1
            "description" => "EXTENSION_SYSOPS_1"
          ]
          #changes: []
          #casts: []
          #dates: []
          #dateFormat: null
          #appends: []
          #dispatchesEvents: []
          #observables: []
          #relations: []
          #touches: []
          +timestamps: true
          #visible: []
          #guarded: array:1 [
            0 => "*"
          ]
        }
      ]
      #touches: []
      +timestamps: true
      #visible: []
      #guarded: array:1 [
        0 => "*"
      ]
    }
  ]
}
...