Laravel 5.1 Eloquent集合未返回正确的结果

时间:2016-02-28 17:51:08

标签: json eloquent laravel-5.1 laravel-blade laravel-collection

我有一个雄辩的集合{{ $questions }},当我在刀片模板中输出它时,我得到以下结果:

[{"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) }}时,我得到一个空结果,为什么这样,当清楚该集合有一个值为1的question_num时?

[]

我整天都在摸着头!

1 个答案:

答案 0 :(得分:1)

这里的问题是你在这里使用operator,但where方法的Collection签名是:

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

所以在这两种情况下,你应该使用:

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

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

获得您期望的结果