php - 在 CakePHP 中显示 FK 数据的问题
问题描述
我正在尝试显示实际值,而不是使用 cakePHP 的 ID 号。
这是我的用户表代码
class UsersTable extends Table
{
public function initialize(array $config)
{
$this->hasOne('Roles');
}
这是我的用户控制器代码
public function list()
{
$usersTable = $this->Users->find('all')->contain(['Roles']);
$allUsers = $usersTable->toArray();
$this->set("allUsers", $allUsers);
}
这就是我尝试打印它的方式
$user->role->name
但是我收到以下错误 错误
我做错了什么,我该如何解决这个问题?
解决方案
在您的用户表中,关系顺序是错误的,表示用户只有一个角色,所以这将尝试使用角色表上的键加入角色表。它实际上应该是 belongsTo,因为 User 属于一个角色。尝试这个:
class UsersTable extends Table
{
public function initialize(array $config)
{
$this->belongsTo('Roles');
}
}
推荐阅读
- snowflake-cloud-data-platform - Snowflake 处理 10 -100 GB 数据的成本
- visual-studio-code - 与另一个文件(VSCode)相比,如何获取文件的路径?
- excel - 同一列中具有多个条件的 Excel 平均函数
- java - 无法解析 org.jetbrains.kotlinx:kotlinx-gradle-serialization-plugin:0.5.1
- python - 从 arcgis 应用程序仪表板下载数据
- python - Python colourlogs 在 Docker 映像中不起作用
- performance - ClickHouse物化视图生成太慢
- r - 在R中的两个矩阵之间切换行
- python - 从 Flask 中的 curl 命令中检索选项标志的值
- android - 使用 Download Manager + FileProvider 打开 APK 以更新应用