我有一个我正在回归
的集合form : {
groups : [
{
title : 'group 1'
fields : [
{
name: 'field 1',
contents:[
{
value: 'Filled in'
}
]
}
{
name: 'field 2',
contents :[
{
value: 'Filled in'
}
]
}
]
},
{
title : 'group 2'
fields : [
{
name: 'field 1',
contents:[]
}
{
name: 'field 2',
contents :[]
}
]
}
]
}
然后我会像这样循环
@foreach($form->groups as $group)
{{ $group->title }}
@foreach(group->fields as $field)
{{ $field->name }} {{ $field->contents[0]->value }}
...
但是我处于空洞field.contents
的情况下,但我仍在回应群组标题,例如上面会回应
第1栏:填写 第2栏:填写
如何在撰写标题之前检查每个$ group' s->字段[] - >内容是否为空?
对任何拼写错误道歉,这是非常非常晚的
修改
我想我需要做一些事情:
if( ! $group->fields->sum('contents[0].value') )
有没有办法可以将参数传递给sum
函数?
答案 0 :(得分:1)
试试这个,
@foreach($form->groups as $group)
{{ $group->title }}
@foreach(group->fields as $field)
@if(!empty($field->contents))
{{ $field->name }} {{ $field->contents[0]->value }}
@endif
...
答案 1 :(得分:0)
在不知道所有细节的情况下,我可能会在将其传递给视图之前消除您不想要的元素。通过在集合上使用toArray()并运行:
foreach( $form as $key => $groups ){
if( ! isset( $groups['fields']['contents'][0] ) ){
unset( $form[$key] );
}
}
当然,您必须更新视图代码
@foreach($form['groups'] as $group)...