2016-02-28 114 views
1

我有一個雄辯的收集{{ $questions }},當我將它輸出刀片模板,我得到下面的結果中:Laravel 5.1雄辯集不返回正確的結果

[{"question_num":0,"survey_id":2,"question_text":"test","expected_answer":1}, 
    {"question_num":1,"survey_id":2,"question_text":"test","expected_answer":1}] 

正如你可以看到有完全相同的兩個對象。現在,當我將此 過濾{{ $questions->where('question_num','=', 0) }},我得到下面的結果是正確的:

[{"question_num":0,"survey_id":2,"question_text":"test","expected_answer":1}] 

但是當我申請以下篩選{{ $questions->where('question_num','=', 1) }},我得到一個空的結果,這是爲什麼,當明確了集合有一個question_num的值爲1?

[] 

我一直在用這個撓我的腦袋!

回答

1

這裏的問題是,你使用的運營商,在這裏,但收集簽名where方法是:

where(string $key, mixed $value, bool $strict = true) 

因此,在這兩種情況下,你應該使用:

{{ $questions->where('question_num', 0) }} 

{{ $questions->where('question_num', 1) }} 

以獲得您期望的結果

+0

該死的......乾杯隊友。 – adam78

+0

那麼爲什麼下面仍然返回null:'{{$ questions-> where('question_num',0) - > get('question_text'}}'? – adam78

+0

最後我不得不這樣做:'{{ $ questions-> where('question_num',0) - > first()['question_text']}}'除非有人知道更好的方法嗎? – adam78