【发布时间】:2016-02-27 04:02:08
【问题描述】:
假设我有一个包含 3 个文本输入的表单(链接到命名路由):
{!! Form::open(['route' => 'domain.store'])!!}
{!! Form::text('srv_prefix',null, $attributes = array('class' => 'form-control input-md')) !!}
{!! Form::text('srv_ip',null, $attributes = array('class' => 'form-control input-md')) !!}
{!! Form::text('domain',null, $attributes = array('class' => 'form-control input-md')) !!}
{!! Form::submit('create') !!}
路由在我的控制器上调用这个函数:
public function store(CreateDomainRequest $request, Domain $domain)
{
$domain->create($request->all());
return redirect()->route('domain.index');
}
总是作为例子,假设我有 2 个表:domains 存储我的域,servers 存储我的服务器信息(第一个和第二个文本输入)实际上我设法在我的第一个表上使用上面提到的控制器。我的问题是如何通过我的表单上的一次提交来插入 2 个表?每个表的一个Request和一个controller如何处理?
这是我到目前为止所做的:
1 - 我已经有 2 个相关模型(Server和Domain):
Class Server extends Eloquent {
public function domain(){
return $this->belongsTo('Domain');
}
// $fillable and stuff..
}
-
Class Domain extends Eloquent {
public function servers(){
return $this->hasMany('Server');
}
//
}
2 - 我正在使用 eloquent,并且我的表是相关的。
Schema::table('servers', function($table){
$table->foreign('id_domain')
->references('id_dom')
->on('domains')
->onDelete('cascade');
});
documentation 没有显示如何使用表单插入相关模型。谢谢你的帮助:)
【问题讨论】:
-
我所做的是创建一个命令/作业,它将所有内容存储在特定请求中,我需要相应地从我的控制器调度命令/作业。
标签: php laravel laravel-5 eloquent laravel-5.1