首页 > 解决方案 > Laravel 8 Model函数获取字段名称

问题描述

在我的项目中,我有很多表,但一张表如下

user (id,name,active)

在我的订单控制器中,我得到了数组中的用户 ID,我想获取名称,所以我有两种方法

1. Loop through array and query each id with user table to get name

或 2. 在用户模型中定义一个函数并获取每个 id 的名称,而无需进行 100 次查询。

我尝试以下但它不工作

 public function getNameAttribute() 
    {
        return $this->name; 
    }

从我的控制器我尝试这些

User::name('2');

其中 2 是 id 我收到错误。

我在模型中需要它,因为我将遍历每个 Id 进行一些工作,同时我会将名称保存在不同的表中。

最好的方法是什么?

谢谢

标签: laravel

解决方案


尝试简单地使用

User::whereIn('id', $listOfIds)->pluck('name');

您可以在 Laravel 文档中阅读有关pluck方法whereIn的更多信息


推荐阅读