我正在使用Laravel的数据库表组件,但是我想在刀片视图中进行检查,但是似乎无法找出最佳的方法。由于数组是在视图中创建的,而不是在控制器中创建的。
我有一个数组和一个对象值。而且,如果该对象的值为true,则应该在数组中显示额外的一行。
我所拥有的是:
"title" => "view_template"
我想生产的是以下
[
'sometitle1' => 'someview1',
'sometitle2' => 'someview2', //this part needs if statement is true
'sometitle3' => 'someview3'
]
我在想这样的事情
[
'sometitle1' => 'someview1',
($obj->has_this_field) ? ['sometitle2' => 'someview2']:
'sometitle3' => 'someview3'
]
但是它显然没有做到这一点。我通常使用控制器中的array_push解决此问题。最好的方法是,因为这是在刀片视图中。
我也尝试过
[
'sometitle1' => 'someview1',
($obj->has_this_field) ? ['sometitle2' => 'someview2']:
'sometitle3' => 'someview3'
]
这显然是行不通的
[
'sometitle1' => 'someview1',
($obj->has_this_field) ? 'sometitle2' => 'someview2':
'sometitle3' => 'someview3'
]
@include('partials.panel', [
'header' => trans('general.information'),
'partial' => 'partials.show-tabs',
'partialData' => [
'root' => 'equipment.equipment.panels',
'tabs' => [
'general' => 'general',
'advanced' => 'maintenance',
(!$equipment->has_running_hours) ? ['runninghours' => 'runninghours']:
'history' => 'history',
]
]
])
这就是我要生产的
[
'general' => 'general',
'runninghours' => 'runninghours',
'history' => 'history'
]
答案 0 :(得分:0)
为什么不先使用@php //your Logic @endphp
创建一个数组,然后将该数组传递给您的@include
部分
类似下面的内容。
@php
$array = [
'header' => trans('general.information'),
'partial' => 'partials.show-tabs',
'partialData' => [
'root' => 'equipment.equipment.panels',
'tabs' => [
'general' => 'general',
'advanced' => 'maintenance',
]
]
];
if(!$equipment->has_running_hours)
{
$array['partialData']['tabs']['runninghours'] = 'runninghours';
}
else
{
$array['partialData']['tabs']['history'] = 'history';
}
@endphp
现在将其传递给您的@include
@include('partials.panel',$array)