在 CakePHP 3 的 table 对象中将关联的 table 列显示为 DisplayField
Show associated table column as DisplayField in table object in CakePHP 3
我有两个表clients
和users
,users
属于clients
。在 UsersTable.php
我想设置 $ this-> setDisplayField ('Clients.name');
但它不起作用。有什么方法可以做到这一点?
您应该尝试不按类名设置显示字段,而应按包含实体的名称设置显示字段:
$this->setDisplayField('client.name');
当然在这种情况下,您应该在查询中包含 Clients 模型。
$result = $this->Users->find('list')->contain('Clients');
在更深层次的关系中也是可能的。
// model
$this->setDisplayField('client.address.street');
//query
$result = $this->Users->find('list')->contain('Clients.Addresses');
我只在belongsTo
关系中测试过。
我有两个表clients
和users
,users
属于clients
。在 UsersTable.php
我想设置 $ this-> setDisplayField ('Clients.name');
但它不起作用。有什么方法可以做到这一点?
您应该尝试不按类名设置显示字段,而应按包含实体的名称设置显示字段:
$this->setDisplayField('client.name');
当然在这种情况下,您应该在查询中包含 Clients 模型。
$result = $this->Users->find('list')->contain('Clients');
在更深层次的关系中也是可能的。
// model
$this->setDisplayField('client.address.street');
//query
$result = $this->Users->find('list')->contain('Clients.Addresses');
我只在belongsTo
关系中测试过。