3
在Laravel 4中,如何檢索最後插入的透視記錄的ID?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();
}
}
,我想打通 $action->people()->attach($person_id);
插入記錄的ID有不使用mysql_insert_id
的方法嗎?我更喜歡雄辯的方式。
我使用Laravel 4,不是4.1
感謝您的回答。我意識到第二個事實,但我認爲,例如'$ person-> save()'設置生成的id,'attach()'也有類似的方法 –
可能有更好的方法。但是,對於數據透視表ID,使用情況並不多,因此輕鬆地進行檢索並不重要,因此,它並不令我感到驚訝,它不是一種在Eloquent(就我們所能找到的方式)或可能是大多數ORM中。記錄總是獨一無二的,所以你永遠不需要區分其他相同的記錄。我無法想象什麼時候您會知道數據透視表記錄標識,但不知道兩個連接標識。 這裏有個答案是不安全的;它建議你拿起MAX ID。我的方式可能不夠高雅,但它是安全和可以理解的。 –
我知道兩個連接ID。對我而言,一個人可以多次擁有相同的動作,因此存在'person_id'-'action_id'組合的'n'記錄。我在這個數據透視表中有額外的數據,我需要通過郵件隊列訪問,所以我不確定我是否可以依靠MAX ID –