繁体   English   中英

如何从插入方法Laravel 5.1获取最后插入的ID

[英]How to get last inserted id from insert method laravel 5.1

我已经从Model数据库中插入了值,这是代码:

控制器:

class MovieController extends Controller
{   
    /**
     * Create a new movie model instance.
     *
     * @return void
     */
    public function __construct(MovieModel $movie){
        $this->movie = $movie;
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(MovieRequest $request)
    {               
        if($this->movie->createMovie($input)){
            return Redirect::back()->with('message', '<strong>' . $input['name'] . '</strong> movie has been created');
        }
    }
}

模型:

class Movie extends Model
{   
    public function createMovie($input) {
        return $this->insert($input);   // I need to return last inserted id here
    }

}

通过使用此插入方法,如何获取最后插入的ID?

如果您的表具有autoincrementid字段,则尝试使用insertGetId函数,该函数将返回最后插入的行ID

return DB::table('movie')->insertGetId(
    //pass an array parameter to this function
);

Laravel查询生成器参考

在模型中,添加以下代码:

public function createMovie($input) {
    $id = $this->insertGetId(
        $input
    );

    return $id;
}

看,如果有帮助。

尝试这个:

class Movie extends Model
{   
    public function createMovie($input) {
        $insertedId = $this->insert($input);   // I need to     return last inserted id here
       $theId = (int) $inserted->id;

        return $theId;
    }

}

假设'$ this-> insert($ input);' 是您正在执行的查询。

为了让您有一个想法,您可以直接从执行的查询中获取ID:

$qry = $this->movie->createMovie($input)
$insertedId = $qry->id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM