Laravel 4 Laravel 4-找出两个模型之间是否存在M:N关系

Laravel 4 Laravel 4-找出两个模型之间是否存在M:N关系,laravel-4,eloquent,Laravel 4,Eloquent,我有两个模型,一个是投票,另一个是用户。我在他们之间建立了M:N关系: User.php Poll.php 这一切都很好。当我对投票进行投票时,表投票会正确填充。但是现在我想在控制器内部检查用户是否已经在投票中投票 我想应该是这样的,但我不确定语法。我试过这个(它不起作用): 如何实现这一点?count是检查是否存在关系的首选方法 您的代码不起作用,因为透视表还有id列和where子句不明确,所以将其更改为: where('users.id','=',$user->id) 重复,检查这个

我有两个模型,一个是投票,另一个是用户。我在他们之间建立了M:N关系:

User.php

Poll.php

这一切都很好。当我对投票进行投票时,表
投票
会正确填充。但是现在我想在控制器内部检查用户是否已经在投票中投票

我想应该是这样的,但我不确定语法。我试过这个(它不起作用):


如何实现这一点?

count
是检查是否存在关系的首选方法

您的代码不起作用,因为透视表还有
id
列和
where
子句不明确,所以将其更改为:

where('users.id','=',$user->id)

重复,检查这个我不知道这对我的问题有什么帮助…它告诉我是否存在关系,但不会告诉我模型的对象是否建立了关系?为什么您尝试的代码不能完全工作?我假设您需要使用
where('users.id','=',$user->id)
,因为pivot表也有
id
列,这只是一个猜测。就是这样!把它写在一个答案上,我会给你评分:)
public function voters() {
    return $this->belongsToMany('User', 'votes');
}
$voters = $poll->voters()->where('id', '=', $user->id)->first();
$voted = count($voters) == 1;
where('users.id','=',$user->id)