Laravel 4 Laravel 4-找出两个模型之间是否存在M:N关系
我有两个模型,一个是投票,另一个是用户。我在他们之间建立了M:N关系: User.php Poll.php 这一切都很好。当我对投票进行投票时,表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) 重复,检查这个
投票
会正确填充。但是现在我想在控制器内部检查用户是否已经在投票中投票
我想应该是这样的,但我不确定语法。我试过这个(它不起作用):
如何实现这一点?
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)