Laravel Eloquent输出数组Collection而不是单值

时间:2016-11-27 23:37:30

标签: php mysql laravel eloquent

我正在尝试从一行访问单值dd();正在获取整行并在Collection数组中显示它。代码:

$last_id = \App\Cat::limit(1)->orderBy('cat_id','desc')->get(['cat_id']);
dd($last_id);

所以,当我需要JUST "55"值时,我得到:

  • "cat_id" => "55"

与其他专栏相同,当我需要" Eletronics"我明白了:

  • "cat_name" => "Eletronics"

我已经尝试了很多像Limit,List,First这样的东西,没有任何反应,当我尝试调用像dd($lastId->cat_id );这样的东西时,它给了我一个" Undefined属性" 错误。所以现在我真的没有选择,因为我使用的是文档示例,即使这样也不行。所以任何帮助都会很棒,谢谢。

2 个答案:

答案 0 :(得分:0)

我认为您不明白该模型代表整行表。 这意味着代码中的$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列。

答案 1 :(得分:0)

已经知道了,我改变了“价值”方法的得分。

\App\Cat::orderBy("id","desc")->value("id");