Laravel5中的最后一个插入ID

时间:2016-06-03 15:59:07

标签: php laravel laravel-5

laravel 5 如何下载添加到模型中的最新ID? 这很简单,我有一个通过post发送数据的表单:

route:
    Route::get('/insert/{data}', 'IdataController@ins');
    Route::post('/insert/{data}', 'IdataController@add_data');
controller:

    public function ins($data = 1){


        if($data == 1){
//display data
        }elseif($data == 2){
// this place I need last insert id

        }



    }
    public function add_data(Request $request, $data){

        if($data == 1){
            $r = $this->insert_my([
                'name'=>$request->name,
                'relationid'=>$request->relationid
            ]);
            return $r;
        }else($data ==2){
//next operations
}

    }
    private function insert_my($data){

        $r=  Insertmodel::create([
            'name'=>$data['name'],
            'relationid'=>$data['relationid']
        ]);

        return Redirect::to('insert/2');
    }

对我来说,最好的解决方案是从Model下载最后一个ID。但是怎么做呢?

id需要进入这个地方:

elseif($data == 2){
    // this place I need last insert id

            }

2 个答案:

答案 0 :(得分:2)

你可以这样检索它:

private function insert_my($data){

    $r=  Insertmodel::create([
        'name'=>$data['name'],
        'relationid'=>$data['relationid']
    ]);

    return Redirect::to('insert/2?id='. $r->id);
}

重定向后,它将在控制器中显示为$request->id

答案 1 :(得分:1)

尝试

<强>更新

$data = Model::all()->last()->id; 

$data = Model::orderby('created_at')->first();

然后$data->id