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

标签 php mysql laravel eloquent

我正在尝试访问一行中的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/

相关文章:

php - ajax调用后Json没有返回

php - 拉拉维尔 5.3。生产环境如何配置?

php - Laravel 中的第 3 派对类

php - 使用 PHP Dreamweaver 进行多重删除

php - 如何在 Laravel 中检查当前日期记录?

MySQL,一次查询更新多个表

Java Servlet 和 MySQL

MySQL更新记录。日期列已重置

php - Laravel 5 在没有命令的情况下打开和关闭站点 - (PHP artisan down and up)

php - 使用php从mysql数据中过滤多个产品