我正在尝试访问一行中的SINGLE VALUE,但dd();
正在获取整行并将其显示在Collection 数组中。代码:
$last_id = \App\Cat::limit(1)->orderBy('cat_id','desc')->get(['cat_id']);
dd($last_id);
所以当我需要 JUST "55"
值时,我得到:
"cat_id"=> "55"
当我只需要“电子”时,其他专栏也会发生同样的情况:
"cat_name"=> "电子学"
我已经尝试了很多类似 Limit、List、First 的方法,但没有任何反应,当我尝试调用类似 dd($lastId->cat_id );
时,它给了我一个 “未定义的属性” 错误。所以现在我真的没有选择了,因为我正在使用文档示例,即使那样它也不能正常工作。所以任何帮助都会很棒,谢谢。
最佳答案
我认为您不了解模型代表整行表格。
这意味着您代码中的 $last_id
:
$last_id = \App\Cat::limit(1)->orderBy('cat_id','desc')->get(['cat_id']);
表示 cats
表的整行。如果你想得到 id
,你必须这样做:
$cat = \App\Cat::first(1)->orderBy('cat_id','desc')->get();
dd($cat->id);
还有什么,如果你写
$cat = \App\Cat::first();
您将从 cats
表中获取第一只猫,然后您可以访问此行的每一列作为 $cat
对象的属性
如果 Laravel 告诉您属性 cat_id
未定义,可能您的表不包含 cat_id
列。
关于php - Laravel Eloquent 输出数组 Collection 而不是单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40835178/