我的页面中有一个对象数组,可以使用数组中记录的索引显示它们。 示例:
{{ records[0].image}}
{{ records}}
看起来像这样,
[
{
"id":"3",
"name":"image one",
"created_at":"2019-09-10 11:46:46",
"updated_at":"2019-09-10 12:00:17",
"deleted_at":null,
"desc":"lady being driven",
"image":"\/cropped-images\/chauffer1-86-2-708-593-1568116001.jpg"
},
{
"id":"4",
"name":"image 2",
"created_at":"2019-09-10 11:47:38",
"updated_at":"2019-09-10 12:01:02",
"deleted_at":null,
"desc":"driver",
"image":"\/cropped-images\/chauffer2-5-3-817-764-1568116053.jpg"
},
{
"id":"5",
"name":"background",
"created_at":"2019-09-10 12:17:02",
"updated_at":"2019-09-10 12:17:02",
"deleted_at":null,
"desc":"background image of a city from above at night",
"image":"\/nightcity.jpg"
}
]
如何通过“ id”或任何键获取记录?
答案 0 :(得分:0)
从php一侧,我想您的记录位于$ records数组中,因此我们需要重新排列它们
$relativeRecords = [];
foreach ($records as $record) {
$relativeRecords[$record['id']] = $record;
// $relativeRecords[$record->id] = $record; // use this if your source is object.
}
$relativeRecords
现在看起来像这样
[
[3] => {
"id":"3",
"name":"image one",
"created_at":"2019-09-10 11:46:46",
"updated_at":"2019-09-10 12:00:17",
"deleted_at":null,
"desc":"lady being driven",
"image":"\/cropped-images\/chauffer1-86-2-708-593-1568116001.jpg"
}
....
,现在您可以像
一样访问它们{{ records[3].image }}
如有任何疑问,请发表评论
答案 1 :(得分:0)
以下是后续回答,以提供更多解释。可以说模型记录是对象,可以用雄辩的集合来检索。使用Twig标记(不是怪异的标记,而是不错的标记),您可以处理类似数组的对象。在后端,您正在使用集合(超级阵列)。
所以我喜欢在记录内调用数据的属性和值,而不是键和值。我这样做是因为每个数组都有一个键值。该数组[ [ 'id' => 1, 'name'=> 'something' ] ]
可以通过foreach循环{% for item in array %}
或键索引{{ array[0] }}
与Twig一起使用。现在,我可以用点符号或键符号[]
指定要选择的属性。到目前为止,使用Twig还是很简单。
现在我该如何制定标准并选择集合中的特定记录。 Twig foreach循环的工作原理就像您所做的{% if the record.id == '3' %}
。但是您也可以生成一个组件函数来执行此操作。在为插件创建组件之后,建议不要使用构建器记录组件。
在我的Component.php中,我具有此功能。
public function getRecord($id) {
$record = Model::where('id', $id)->first();
return $record;
}
在我的Twig标记页面中,我具有:请注意,使用 SELF 指定组件。如果要在CMS页面中进行扩展,则会显示{{ componentAlias.getRecord(3) }}
。
{{ __SELF__.getRecord(3).image }}