Form :: Model雄辩的绑定

时间:2015-04-01 18:20:36

标签: php forms laravel eloquent blade

当我使用with(

进行雄辩查询时,我在填充输入值时遇到问题

控制器:

private $viewPath = "pages.person.";

public function edit($id)
{
    $person = Person::where('id', '=', $id)->with('Email', 'Phone', 'User', 'Client', 'JuridicPerson.TypeActivities')->firstOrFail();

    $this->setData('person', $person); // Set information to be used in the creation of `views` and `nest.views`.
    $this->setData('users', User::lists('name', 'id'), ['0' => 'Select…']); // Set information to be used in the creation of `views` and `nest.views`.

    return $this->view($this->viewPath.'edit'); // Register a new view.
}

我的观点是以我在editcreate之间共享表单的方式制作的。所以我有create.blade.phpedit.blade.php并且都打电话给form.blade.php无法更改。

我的edit.blade

{{ Form::model($person, array('method' => 'PATCH', 'class' => 'defaultForm', 'route' => array('person.update', $person->id))) }}
    @include('pages.person.form')
{{ Form::close() }}

我的form.blade

<!-- This input brings the correct value -->
<div class="row">
    <div class="col-md-12">
        {{ Form::input('name', 'name', null, ['class' => 'form-control', 'placeholder' => 'Nome', 'maxlength' => 35, 'required', 'autofocus']) }}
    </div>
</div>
<!-- This input value is empty -->
<div class="row">
    <div class="col-md-12">
        {{ Form::textarea('Client[observation]', null, ['class' => 'form-control', 'placeholder' => 'Observations']) }}
    </div>
</div>

但是如果我在html中的任何地方添加这段代码,我会在client中得到正确的值......

{{ $person->client }}

我不知道如何修复我的代码,数据是正确的,当我打印数据(上面的代码)时,输入输出正确的值(但我不能在屏幕上打印返回用户)。


我需要的是将正确的值打印到正确的输入中。

1 个答案:

答案 0 :(得分:2)

加载该关系时,请使用client而不是Client

当您执行{{ $person->client }}时,它会产生加载该客户关系的副作用,因此可以使用它。

加载关系时,您应该使用功能的名称,确切地说,他们负责设置这些关系。