如何为多列显示字段使用自定义格式?

时间:2016-07-17 21:00:02

标签: cakephp cakephp-3.x

是否有人意识到扩展此“正常”用法的方法(默认为id并且很容易更改为field1)?我有一个displayField集合如下:

$this->displayField(['name', 'desc']);

在模板文件中调用时显示为Name; Description。我知道这是一个软糖,但有一种方法我可以操纵它来显示Name - Description,例如,只使用displayField

1 个答案:

答案 0 :(得分:7)

使用虚拟字段,并指定将其用作显示字段,而不是使用多个列,

// ...

class YourEntity extends Entity
{
    // ...

    protected function _getNameDesc()
    {
        return
            $this->_properties['name'] .
            ' - ' .
            $this->_properties['desc'];
    }
}
// ...

class YourTable extends Table
{
    // ...

    public function initialize(array $config)
    {
        $this->displayField('name_desc');

        // ...
    }
}

另见