Laravel 4:获取最后附加记录的ID

时间:2014-04-01 08:52:26

标签: php laravel laravel-4 eloquent

在Laravel 4中,如何检索最后插入的数据透视记录的ID?

我的模型定义如下:

class Action extends Eloquent
{
    public function people()
    {
        return $this->belongsToMany('Person')->withTimestamps()->withPivot('mailing_data');
    }
}

class Person extends Eloquent {
    public function actions()
    {
        return $this->belongsToMany('Action')->withTimestamps();
    }
}

我希望获得插入记录的ID $action->people()->attach($person_id);

有没有办法不使用mysql_insert_id?我更喜欢雄辩的方式。

我使用的是Laravel 4,而不是4.1

1 个答案:

答案 0 :(得分:2)

理想情况下,您应该使用mysqli_insert_id而不是已弃用的mysql_insert_id,但您需要确保使用相同的连接。

在“Eloquent”中解决问题的最简单,最安全的方法。方法是简单地使用您已经知道的事实($person_id以及您将人们附加到的事物)通过查询查找数据透视记录ID。

编辑:或者,如果id很重要,请考虑不使用数据透视表。