我正在努力学习Laravel,并且在我向数据库中插入一行之后如何回复id。
这是我当前的NotesController:
public function store()
{
$form = new NotesCreation($this->currentUser(), $this->params());
if ($form->save()) {
return Redirect::route('notes.edit', WHERE ID NEEDS TO GO)
->withSuccess('Note added successfully');
} else {
$this->view('create')
->withErrors($form->getErrors());
}
}
我尝试添加$ form-> id,但它不起作用。我得到一个Undefined属性:NotesCreation :: $ id
这是我的NotesCreation模型:
public function save()
{
$success = false;
if ($this->isValid()) {
$this->user->notes()->save($this->notes);
$success = (bool) $this->notes;
}
return $success;
}
我做错了什么?我非常感谢任何帮助! 谢谢!
答案 0 :(得分:0)
您的 - > notes() - > save()方法必须返回id:
$success = $this->user->notes()->save($this->notes);
return $success;
您可以阅读有关如何在以下位置返回最后一次intested id的信息: http://laravel.com/docs/4.2/eloquent#insert-update-delete或http://laravel.com/docs/4.2/queries#inserts
答案 1 :(得分:0)
使用一种简单的方法来获取最后插入的ID。
$leadmodel = new Lead(); //mhy model name
$leadmodel->name = 'name';
$leadmodel->save();
$lead_id = $leadmodel->id; //last inserted id
echo $lead_id ;