2014-12-18 2 views
2

Допустим у меня есть 2 записи в моей БД:Weird поведение при попытке сравнить поле 0 в котором положение

-- Name -- approved -- resolved 
-- Record1 -- 1  -- 0 
-- Record2 -- 1  -- 1 

Я забирающий записи с ИНЕКЕ

$results = DB::table('mytable')->where('mytable.approved','=',1)->where('mytable.resolved','=',0); 

Фантастическая поведение является то, что он отказывается принести Record1 Многорядное resolved=0,

если я изменить запрос к

$results = DB::table('mytable')->where('mytable.approved','=',1)->where('mytable.resolved','>',0); 

Он извлекает Record2.

У кого-нибудь есть идея, что не так?

Я пробовал играть с типом поля и сделать его логическим и нулевым, не помогло.

+0

попробовал a> = вместо этого? я никогда не использовал laravel, но, возможно, он может работать o.o –

+2

Какой тип вашего «разрешенного» поля? (И помните, что числовым типам не нужны кавычки вокруг значений ...) –

+0

Разве это не должно быть? Я просто нажал этот вопрос и, честно говоря, понятия не имею. –

ответ

0

Эй Использование whereRaw может быть ниже код работать для вас

$ Результаты = DB :: таблица ('туЬаЫе') -> whereRaw ("mytable.approved = 1 и mytable.resolved = 0");

попробуйте этот

он решил вашу проблему.

Смежные вопросы