Laravel 4: multiple where with or in eloquent

mysql laravel laravel-4 eloquent query-builder

217 просмотра

1 ответ

1774 Репутация автора

how to write this condition using laravel eloquent

SQL

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

Laravel (not finished):

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

thanks,

Автор: mwafi Источник Размещён: 06.11.2014 10:40

Ответы (1)


2 плюса

80091 Репутация автора

Решение

This should do the work:

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

EDIT

Answering comment:

Fight::whereIn('status', ['finished', 'cancelled'])->where(function($q) use ($uid) {
    $q->where('user1',$uid)->orWhere('user2', $uid);
})->count('id');
Автор: Marcin Nabiałek Размещён: 06.11.2014 10:46
Вопросы из категории :
32x32