我有一个项目模型,其中有
protected $table = 'projects';
protected $guarded = [];
public function docOne()
{
return $this->hasOne('App\DocOne', 'id');
}
在Model DocOne中,我有
protected $table = 'doc_one';
protected $guarded = [];
public function project()
{
return $this->belongsTo('App\Project', 'id');
}
所以这是一对一的关系。现在我有一个表单,它收集信息以填写doc_one表。在控制器中,我做
public function store(Request $request)
{
$input = Input::all();
DocOne::create( $input );
return Redirect::route('projects.index')->with('message', 'Document saved');
}
此操作失败,因为数据库还需要项目ID。如何获取正在创建doc_one的项目的ID?
由于
答案 0 :(得分:1)
要创建与项目相关联的文档,您的路径应如下所示:
Route::post('projects/{id}/doc_one', 'DocOneController@store');
然后您的控制器方法将是:
public function store(Request $request, $id)
{
/**
* Create DocOne
*/
}
$id
是您的项目ID。