1
我有以下数据的用户表:CakePHP虚拟字段发送头文件?
class User extends Entity
{
protected $_virtual = ['createdformated','modifiedformated'];
protected function _getCreatedformated()
{
$date = new Time($this->_properties['created']);
$final=strftime("%d/%m/%Y %H:%M", $date->getTimestamp());
return $final;
}
protected function _getModifiedformated()
{
$date = new Time($this->_properties['modified']);
$final=strftime("%d/%m/%Y %H:%M", $date->getTimestamp());
return $final;
}
}
如果在我的控制器我打电话:
$logusers["data"] = $this->Logusers->find('all')
->contain(['Users'])
->order(['Logusers.id'=>'DESC']);
echo json_encode($logusers);
而且jsonenconde
Warning (512): Unable to emit headers. Headers sent in file=C:\wamp\www\otras\mailing\src\Controller\UsersController.php line=91 [CORE\src\Http\ResponseEmitter.php, line 48]
后,我得到以下。如果我只留下1(一个)虚拟字段,问题就不存在了......问题只有在我启用它们时才会发生。
是什么问题?
这是正确的做法吗? $ this-> response-> type('json'); $ this-> response-> body(json_encode($ logusers)); –
应该可以工作。不过,我个人更喜欢JSON视图,因为它不需要您向操作添加请求特定的代码。 Cake会检测到请求是JSON并为你配置相应的响应。 – burzum
嗯,只是在看文档,并没有解释,它告诉我加载组件并设置_serialize,但没有任何反应。 –