我有一个用户表和一个角色表。一个用户只有一个角色。所以在 UsersTable.php 中:
$this->belongsTo('Roles', [
'foreignKey' => 'role_id',
'joinType' => 'INNER',
]);
现在在 User.php (Entity!!) 我需要用户角色的角色名称。但我只有没有关联数据的用户实体。我现在有:
public function getRole()
{
$q = TableRegistry::getTableLocator()->get('Roles');
$roles = $q->find('list')->toArray();
return $roles[$this->role_id];
}
这行得通,但 TableRegistry 在 cake4 中被标记为过时,我找不到任何其他方式来使这项工作。这样做的正确方法是什么?