【发布时间】:2018-04-29 11:11:14
【问题描述】:
我想在模型与Form::label 和Form::text 的关系中使用属性值。 Form 助手已从 Laravel 中删除,所以我改用 'Form' => 'Collective\Html\FormFacade'。
这是Order模型中的关系:
<?php namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes;
class Order extends \Eloquent
{
use SoftDeletes;
public function account_number()
{
return $this->belongsTo('\App\Models\Account_number', 'product_id', 'id');
}
}
这是带有Form 的 Blade 模板。 account_number <td> 中的文本将显示:
{"id":4,"user_id":52,"account_type":"alipay","account_no":"xxxxxx","account_name":"xxxxxx","phone":"xxxxxx","created_at":"2017-11-15 14:43:51","updated_at":"2017-11-15 14:43:51","deleted_at":null}
{!! Form::model($order, array('files' => true)) !!}
<table border="1">
<tr>
<td>{!! Form::label('out_trade_no', 'out_trade_no: ') !!}</td>
<td>{!! Form::text('out_trade_no')!!}</td>
</tr>
<tr>
<td>{!! Form::label('account_number', 'account_number: ') !!}</td>
<td>{!! Form::text('account_number')!!}</td>
</tr>
</table>
但我想分别显示每个 account_number 属性的输入,而不是 JSON 字符串。
我试过了:
<tr>
<td>{!! Form::label('account_number.id', 'account_number: ') !!}</td>
<td>{!! Form::text('account_number.id')!!}</td>
</tr>
或
<tr>
<td>{!! Form::label('account_number->id', 'account_number: ') !!}</td>
<td>{!! Form::text('account_number->id')!!}</td>
</tr>
或
<tr>
<td>{!! Form::label('account_number', 'account_number: ') !!}</td>
<td>{!! Form::text('account_number["id"]')!!}</td>
</tr>
...但是这些都不起作用。他们都把这个<td>留空。
【问题讨论】:
-
您正在寻找的类似于嵌套表单(我猜),您可以在其中将表单的一部分插入到 1 个表中,而在其他表中插入一些)但似乎 laravel 不直接支持它所以您将不得不寻找解决方法..您可以查看此以供参考..laravel.io/forum/03-04-2014-work-around-for-nested-forms
-
@DhavalChheda 您的链接是另一种解决方法。我想在这里使用与表单外观的关系。
标签: php forms laravel laravel-5 laravel-eloquent