虚拟字段不会出现在REST JSON结果中

时间:2015-10-05 20:45:14

标签: rest cakephp orm cakephp-3.0

我有一个名为用户Model,其中包含一个名为full_name的虚拟字段,通过调用它可以在模板中正常工作:

<?= $user->full_name; ?>

但它不会自动进入REST。

1 个答案:

答案 0 :(得分:2)

来自文档的引用:

  

默认情况下,转换时不会导出虚拟属性   实体到数组或JSON。为了公开您的虚拟属性   需要让它们可见。在定义实体类时,您可以   提供应公开的虚拟属性列表:

namespace App\Model\Entity;

use Cake\ORM\Entity;

class User extends Entity
{

    protected $_virtual = ['full_name'];

}
     

可以使用virtualProperties

在运行时修改此列表
$user->virtualProperties(['full_name', 'is_admin']);

<强> Cookbook > Database Access & ORM > Entities > Exposing Virtual Properties