获取当前在Laravel 5中创建的模型id


Get currently created model id in Laravel 5

Laravel 5.2

我有一些问题与获取模型id:

    public function store(Request $request)
{
    $this->validate($request, [
        'title'   => 'required|max:255',
        'content' => 'required',
    ]);
    $data = $request->all();
    $page = new Page;
    $page->create($data);
    dd($page->id);
    return redirect()->route('admin.pages.index');
}

$page->id返回null

我做错了什么?

如果你想使用laravel的质量分配,你应该这样做:

public function store(Request $request)
{
    $this->validate($request, [
        'title'   => 'required|max:255',
        'content' => 'required',
    ]);
    $data = $request->all();
    $page = Page::create($data);
    dd($page->id);
    return redirect()->route('admin.pages.index');
}

那么你可以像这样得到页面的id:

$page_id = $page->id

查看更多信息:https://laravel.com/docs/5.1/eloquent质量确定

和你的模型类应该像这样(可填充):

<?php
namespace App;
use Illuminate'Database'Eloquent'Model;
class Page extends Model
{
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = ['title','content'];
} 

在模型中添加质量分配,

ex: protected $fillable = ['id'];

还是没有运气?使用这个,

$page = page::create($data);

dd(页面-> id;美元)