我是laravel的新手,我试图通过使用隐藏等代码插入具有外键的表单:-
<form class="form-horizontal" role="form" action="/WhatTodo/store" method="POST">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" name="task_id" value=" {{$what->task_id}}">
<input type="hidden" name="work_id" value="{{$what->work_id}}">
<div class="form-group">
<label class="control-label col-sm-2" for="name"> Name</label>
<div class="col-sm-5">
{!!Form::select('name',$name)!!}
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="work">work:</label>
<div class="col-sm-5">
<input type="text" class="form-control" name="work" value="">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" class="btn btn-default" value="Submit">
</div>
</div>
</form>
我有控制器的功能:-
public function create($id)
{
$what=WhatTodoModel::findorFail($id);
$name=WOrk::lists('name','name');
return view('what/create',compact('what','name'));
}
你还没有真正告诉我们你的问题是什么或你得到什么错误,但我的猜测,鉴于当前的问题是:
假设您正在尝试实现资源路由和资源控制器,create
方法用于显示创建新对象的表单,而不是编辑现有对象。create
方法不接受任何参数,因此$id
将为空白,WhatTodoModel::findorFail($id);
将抛出异常。
如果你想编辑一个已经存在的记录,你可以使用edit
操作。
创建新记录时,create
显示表单,store
保存记录。
对于编辑已存在的记录,edit
显示表单,update
保存记录。