2017-04-18 141 views
1

我使用雄辩模型检索database.My查询数据
Laravel 5雄辩模型结果

$tests_details = Previous_Mocks::where($data)->orderBy('sno', 'desc')->get(); 

我所知$tests_details将返回对象的数组(结果),但是当我回声is_array($tests_details)它返回的假,这意味着它不是一个阵列,但是当我回声count($test_details)它显示以下代码

foreach ($tests_details as $td) 
       { 
        echo is_object($td); 
        echo "<br/>"; 
       } 

它returing 1 is_object($td)正确count.See。当我使用以下功能print_r打印$tests_details是我得到 enter image description here

输出和回音时$tests_details[0]->edate它显示适当的输出,一切工作正常。但我想知道为什么雄辩以图像显示的格式而不是普通对象返回数据。我是laravel新手,目前使用laravel 5.0,任何解释都很明显。

+0

@Mayanak解释得很清楚你的问题。但是,如果你想要结果作为数组然后尝试,$ tests_details = Previous_Mocks :: where($ data) - > orderBy('sno','desc') - > toArray(); – manian

回答

3

Previous_Mocks模型返回的数据是一个集合对象。

由锋返回的所有多结果集是 照亮\数据库\锋\ Collection对象的实例,包括结果 经由get方法检索或经由关系访问。 Eloquent集合对象扩展了Laravel基本集合,所以它自然地继承了几十种方法,可以流畅地使用底层的Eloquent模型阵列。

但是,集合比数组强大得多,并且暴露了各种使用直观界面链接的map/reduce操作。

Eloquent Collection Reference

+0

假设如果我从上面的图像(雄辩集合对象)中显示的格式从数据库获得10000或甚至更多的行是否有效? – prudhvi259

+0

是的,它是有效的 –