如何在 octobercms 的列表中显示用户名而不是 id

How to display username instead of id in a list in octobercms

在我的例子中,我有一个后端列表,我在列表中得到了更新的 UserId。但我不知道如何显示用户名而不是 UserId。有没有人可以帮我摆脱这个? See the list here

你好,你必须使用 relation 字段类型,更改你的 columns.yaml 而不是使用 user_id 像这样:

user:
 label: Username
 type: relation
 select: login

记住 userbelongsTo 数组中定义的关系的名称

您应该已经在您的模型中定义了正确的关系

<?php

class YourModel extends Model
{
  $belongsTo = ['user'=>'Backend\Models\User'];
}

更多信息http://octobercms.com/docs/backend/lists#column-relation

在你的 YourModel.php 中,添加这个关系

public $hasOne = [
        'user' => ['Backend\Models\User', 'key' => 'id', 'otherKey' => 'user_id']
            ];

在你的 columns.yaml 中,添加这个

 user:
        label: 'Username'
        type: text
        select: username //field from users table
        relation: user //relation name is the key defined in model "hasone" relation