我在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?
答案 0 :(得分:1)
如果您的表格中包含autoincrementid
字段,请尝试使用insertGetId
函数,该函数将返回上次插入的行ID
return DB::table('movie')->insertGetId(
//pass an array parameter to this function
);
答案 1 :(得分:1)
在您的模型中,添加以下代码:
public function createMovie($input) {
$id = $this->insertGetId(
$input
);
return $id;
}
看,如果有帮助。
答案 2 :(得分:0)
试试这个:
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;
}
}
这假设&#39; $ this-&gt; insert($ input);&#39;是您正在执行的查询。
为了让您了解直接从执行的查询中获取ID:
$qry = $this->movie->createMovie($input)
$insertedId = $qry->id