У меня есть эта таблица свойств
+------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | | NULL | |
| meta_name | varchar(255) | NO | | NULL | |
| meta_value | text | NO | | NULL | |
| meta_group | varchar(255) | NO | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
+------------+------------------+------+-----+---------+----------------+
Я извлекаю все значения и группирую их по meta_group
Контроллер
public function properties()
{
$properties = Properties::all()->groupBy('meta_group');
return view('dashboard.properties.index')->with('properties', $properties);
}
$properties
содержит:
=> Illuminate\Database\Eloquent\Collection {#2953
all: [
"points" => Illuminate\Database\Eloquent\Collection {#2955
all: [
App\Properties {#2964
id: 1,
user_id: 3,
meta_name: "point_interval",
meta_value: "1",
meta_group: "points",
created_at: null,
updated_at: null,
},
App\Properties {#2963
id: 2,
user_id: 3,
meta_name: "point_amount",
meta_value: "1",
meta_group: "points",
created_at: null,
updated_at: null,
},
],
},
"message" => Illuminate\Database\Eloquent\Collection {#2949
all: [
App\Properties {#2965
id: 3,
user_id: 3,
meta_name: "message_length",
meta_value: "10",
meta_group: "message",
created_at: null,
updated_at: null,
},
App\Properties {#2966
id: 4,
user_id: 3,
meta_name: "message_score",
meta_value: "90",
meta_group: "message",
created_at: null,
updated_at: null,
},
],
},
],
}
В блейде я делаю это
@foreach($properties as $group=>$property)
{{$group}}
@endforeach
Который выдает points
, затем messages
, как я ожидал.
Затем я хочу вывестиимя ключа и значение, например meta_name:message_score
Но когда я делаю
@foreach($property as $key=>$prop)
{{$prop}}
@endforeach
$prop
выводит 2 объекта
{
"id": 1,
"user_id": 3,
"meta_name": "point_interval",
"meta_value": "1",
"meta_group": "points",
"created_at": null,
"updated_at": null
} {
"id": 2,
"user_id": 3,
"meta_name": "point_amount",
"meta_value": "1",
"meta_group": "points",
"created_at": null,
"updated_at": null
}
Итак, я пытаюсь получить каждыйимя ключа
@foreach($prop as $ke => $pr)
{{$ke}}
@endforeach
Но это выводит
incrementing exists wasRecentlyCreated timestamps incrementing exists wasRecentlyCreated timestamps
и {{$pr}}
выводит 1 1 1 1 1 1
Я не могу идти дальше вниз с foreach()
как он выдает ошибку.
Как напечатать имя и значение ключа?