在Laravel 5.6(Eloquent)中使用attach()时,如何获取数据透视表的插入ID?

时间:2018-08-19 05:05:20

标签: php laravel eloquent many-to-many

我有此表:用户程序 users_programs 枢轴

我用这句话将用户与程序(很多对很多)联系起来

$user->programs()->attach($program);

我想获取ID以透视表 users_programs ,这可以吗?保存行时如何返回id?

谢谢

1 个答案:

答案 0 :(得分:1)

数据透视表在Eloquent领域中没有增量ID字段。

如果要在数据透视表中为用户获取特定程序,则可以使用以下方法作为示例:

$user->programs()->attach($program->id);
$user = $user->fresh();
$userProgram  = $user->programs->keyBy('program_id')->get($program->id);