Laravel 5.2表单模型绑定 - 显示模型与()空关系

时间:2016-06-16 19:46:49

标签: laravel

已解决,其他原因导致错误,而不是空关系。

我在完成这项工作时遇到了一些麻烦。我有一个组合4个表的大表单。对于我的例子,我将使用3.以下是我发送给视图的内容:

$student = Student::with('primaryInsurance')->with('secondaryInsurance')->findOrFail($student_id);

如果学生同时拥有primaryInsurance和secondaryInsurance,那么表单可以正常工作但是我得到了一个"试图获得非对象的属性"如果一个或两个不在表中。我怎么能避免这个?

以下是我的表格中的几个字段:

{{ Form::text('last_name', null, ['class' => 'form-control required']) }}
{{ Form::text('primaryInsurance[insured_name]', null, ['class' => 'form-control']) }}
{{ Form::text('secondaryInsurance[insured_name]', null, ['class' => 'form-control']) }}

来自学生模特:

public function primaryInsurance() {
return $this->hasOne(StudentInsurance::class, 'student_id', 'student_id')->where('is_primary', '=', 1);
        }
public function SecondaryInsurance() {
return $this->hasOne(StudentInsurance::class, 'student_id', 'student_id')->where('is_primary', '=', 1);
        }

1 个答案:

答案 0 :(得分:1)

首先,结合您的print "REDACTED "查询以使您的代码更清晰。像这样:

with

接下来,在你的视图中检查对象是否已设置(我认为你应该在这里使用一个对象而不是数组 - 这是导致我相信错误的原因)。你必须要测试。您的问题也可能是您要将对象包装在' &#39 ;.唐'吨。如果这不起作用,我需要看看你的控制器逻辑才能更好地理解。

$student = Student::with('primaryInsurance', 'secondaryInsurance')->findOrFail($student_id);

如果不存在,您也可以对此进行三元制默认为{{ Form::text($primaryInsurance->insured_name, null, ['class' => 'form-control']) }}

null
相关问题