Я настроил полиморфный соотношение где структура таблицы как:форма модель связывания для полиморфных отношений
companies
id - integer
name - string
company_branches
id - integer
name - string
incharges
id - integer
name - string
inchargable_id - integer
inchargable_type - string
Я также создать модели, соответственно, и данные сохранены правильно. Проблема, с которой я сталкиваюсь, показывает данные таблицы incharges во время редактирования, используя привязку модели. Представление для редактирования, как:
{!! Form::model($company, array("route" => array("companies.update", $company->id), "method"=>"PUT", "files"=>true)) !!}
<label>Company Name</label>
<div>
{!! Form::text('name') !!}
</div>
<label>Incharge Name</label>
<div>
{!! Form::text('incharge_name') !!}
</div>
{!! Form::close() !!}
данных, который появляется в name
текстовом поле во время редактирования правильно. Но как я могу отобразить имя для подзаголовки для редактирования? Я могу получить имя пополнить, выполнив $company->incharge->name
.
EDIT: В PersonInCharge
модели, я настроил полиморфного отношения как:
public function inchargable()
{
return $this->morphTo();
}
В Company
модели:
public function incharge()
{
return $this->morphOne('PersonInCharge', 'inchargable');
}
В CompanyBranch
модели:
public function incharge()
{
return $this->morphOne('PersonInCharge', 'inchargable');
}
Как вы передаете данные с контроллера? –
Да. Если я сделаю 'echo $ company-> incharge-> name' в представлении, я могу увидеть правильный результат. – SUB0DH