Laravel 4:多个 where with 或 in eloquent

如何用laravel eloquent写这个条件

how to write this condition using laravel eloquent

SQL

select count(id) from fight where status = 'finished' and (user1 = 1 or user2 = 1)

Laravel(未完成):

Laravel (not finished):

Fight::where('user1','=',$uid)->orWhere('user2', '=', $uid)->count('id');

谢谢,

推荐答案

这应该可以解决问题:

Fight::whereStatus('finished')->where(function($q) use ($uid) {
    $q->where('user1',$uid)->orWhere('user2', $uid);
})->count('id');

编辑

回答评论:

Fight::whereIn('status', ['finished', 'cancelled'])->where(function($q) use ($uid) {
    $q->where('user1',$uid)->orWhere('user2', $uid);
})->count('id');

相关文章