[英]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
);
在模型中,添加以下代码:
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.