Laravel:检查特定列数据透视表

时间:2014-04-03 14:30:06

标签: php laravel-4

我有一个多对多的关系,表上有一个附加值列。我该如何选择这个价值?所以......

pivot_table
- user_id
- something_id
- value

模型User

return $this->belongsToMany('Something', 'user_something')->withPivot('value');

现在,我想获得一个id为2的用户的值。

这样的事情:

$user = User::find(1);
$user->something->whereSomethingId(2)->pivot->value;

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

$user->something->find(2)->pivot->value;

由于something是一个集合,因此我们可以使用find($id)方法来获取项目id。此外,您可以使用filter(callback)方法使用循环过滤集合并在每个循环中运行回调(在filter方法中作为参数传递),例如:

$user->something->filter(function($item){
    // $item is an object from the collection
    // So, you may use: $item->pivot->value
});

您还可以阅读this article