【发布时间】:2019-01-10 00:55:35
【问题描述】:
我有一个代码,我尝试使用“first()”方法获取 eloquent 集合对象的第一个对象,但我得到一个“尝试获取非对象异常的属性”。
如果我使用 foreach 循环集合,则访问每个对象的属性没有问题。 但是当我尝试访问我试图通过“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.
我在这里遗漏了什么吗?
【问题讨论】:
-
可能是在第一种情况下,您只需要第一条记录。然后您可以将
->get()更改为->first() -
我知道了,但是如果我需要所有记录,并且我只想获得其中任何一个,但只有一个,并且在 get() 之后,最好的方法是什么?跨度>
-
请问您可以 dd($movimientos) 吗?
-
我认为 $movimientos 可能是一个数组而不是对象的集合,这就是为什么你不能使用
->fecha_movimiento -
Oooooohhhhh 我不知道这个 dd() 的东西...我从数据库中没有检索到任何东西,谢谢!!