Laravel:获取特定多对多关系的数据透视数据

时间:2014-12-11 23:27:05

标签: laravel relationship

我的User模型有很多Target,反之亦然。 现在我有一个给定的User并且给定Target,我想从他们的关系中访问数据透视数据。枢轴列称为type

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:68)

UserTarget的关系上,添加->withPivot('type'),指示Laravel包含该列。然后,一旦有了结果集,就可以使用$user->pivot->type访问该字段。

如果您没有迭代某个集合,但拥有一个用户及其中一个目标并且想要type字段,则可以使用$target = $user->targets->find($targetId)并使用{{1}访问该类型}}

更多http://laravel.com/docs/4.2/eloquent#working-with-pivot-tables

答案 1 :(得分:0)

您还可以通过将数组作为第二个arg传递给simplePaginate来限制列

$query->users()->simplePaginate($per_page, ['users.id', 'users.email']);