集合不返回first()方法上的对象

时间:2019-01-09 15:58:25

标签: php laravel eloquent

我有一个代码,其中我试图使用“ first()”方法获取雄辩的集合对象的第一个对象,但是我获取了“试图获取非对象异常的属性”。

如果我用一个foreach循环该集合,则访问每个对象的属性都没有问题。 但是,当我尝试访问Im试图通过“ first()”方法获取的第一条记录的属性时(我真的不介意该集合的对象),那么我得到的是返回的不是对象。

$movimientos = 
            Om_movimiento::with(['estado_om',
                                'om' => function($query)
                                        {
                                            $query- >with('legajo','legajo_cuadrilla','terminal.armario.central','tipo_trabajo_om');
                                        }])
                          ->where('id_om', '=', $request->get('id_om'))
                          ->orderBy('created_at','asc')
                          ->get();


        foreach($movimientos as $m)
        {
            echo $m->fecha_movimiento;
        } //->no error here

        echo $movimientos->first()->fecha_movimiento; //->error trying to get "fecha_movimiento" property.

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您无法访问first()上的$movimientos,因为它当前没有从数据库返回集合。您可以使用变量转储var_dump()http://php.net/manual/en/function.var-dump.php)进行调试,也可以使用转储dd()进行调试。