用户可能有多次投票和多次次数。 场合可以包含其中一些投票。
彼得创造了三票。他还创造了两次投票的机会。彼得有五票。
出于性能原因,我想获取所有选票,不部分。
这将加载所有投票:
$oUser->load( 'votes' );
这是我到目前为止所做的:
$aLoad = array( 'votes' => function($query) {
$query->whereNotIn('id', json_decode(json_encode(DB::raw('select id from occasions_votes')), true));
});
我的问题
你会如何解决?
我应该进行多次查询(获取所有投票ID>删除在occasion_votes中存在的所有投票ID>获取剩余ID的投票数)还是有直接的方式去? (Laravel 4.2)
答案 0 :(得分:2)
尝试
App\User::with('votes')->whereHas('votes',function($query){
$query->whereNotIn('id',DB::table('occasions_votes')->get()->lists('id')->all());
})
希望它有所帮助。