Php 叶片模板上未显示变量
我正在创建一个CRUD,其中包含两个模型:自动和规则。1自动化有1条规则。在编辑表单上,我需要显示来自自动和规则的字段。 这是我的编辑方法控制器Php 叶片模板上未显示变量,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在创建一个CRUD,其中包含两个模型:自动和规则。1自动化有1条规则。在编辑表单上,我需要显示来自自动和规则的字段。 这是我的编辑方法控制器 public function edit($id) { $actions = array( 1 => 'Enable', 2 => 'Pause', ); $fields = \DB::table('fields') ->whereNull('
public function edit($id)
{
$actions = array(
1 => 'Enable',
2 => 'Pause',
);
$fields = \DB::table('fields')
->whereNull('field1_id')
->lists('field_name', 'id');
$schedules = \DB::table('schedules')
->lists('schedule_name', 'id');
$rules = \DB::table('rules')
->where('automation_id', '=', $id)
->get();
return view('automations.automations', [
'automations' => Automations::find($id),
'actions' => $actions,
'fields' => $fields,
'schedules' => $schedules,
'rules' => $rules
]);
但在我的表单上,我无法显示规则中的值,只能用于自动操作。我做错了什么?这是规则中1个字段的刀片形式:
<div class="form-group">
<label for="task-name" class="col-sm-3 control-label">Field 1 </label>
<div class="col-sm-6">
{!!
Form::select(
'field1',
(['' => 'Select a Field'] + $fields),
(isset($rules->field1) ? $rules->field1 : null),
['class' => 'form-control','id' => 'field1']
)
!!}
</div>
</div>
字段1
{!!
表格::选择(
“字段1”,
([''=>'选择一个字段']+$fields),
(isset($rules->field1)?$rules->field1:null),
['class'=>'表单控件','id'=>'字段1']
)
!!}
对于自动化的1个字段:
<div class="form-group">
<label for="task-name" class="col-sm-3 control-label">Action on Campaigns</label>
<div class="col-sm-6">
{!!
Form::select(
'action_id',
(['' => 'Select an Action'] + $actions),
(isset($automations->action_id) ? $automations->action_id : null),
['class' => 'form-control']
)
!!}
</div>
</div>
关于运动的行动
{!!
表格::选择(
“行动id”,
([''=>'选择一个动作']+$actions),
(isset($automations->action\u id)?$automations->action\u id:null),
['class'=>'表单控件']
)
!!}
DB::get()
返回stdClass对象数组。因此,$rules
是一个数组,因此您不能只访问属性,如$rules->field1
。您需要迭代数组以找到正在查找的实际对象,然后检查该对象。或者,如果实际上只有一条记录,可以使用first()
而不是get()
DB::find()
返回stdClass
对象或null,具体取决于是否找到记录。这就是你的自动程序工作的原因。生成dd($rules)
并检查输出内容,同时你正在使用get()
调用$rules->isEmpty()
如果对象为空或不只是为了检查,它将返回)()