CakePHP虚拟字段发送头?
我有包含以下数据的用户表:CakePHP虚拟字段发送头?,php,cakephp,Php,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-&
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(一)个虚拟字段,问题就消失了。。。问题是只有当我同时启用这两个选项时
有什么问题吗?问题在于你的回声
使用正确的方法将json传递到响应体,并在控制器操作中返回响应。这是正确的方法吗$此->响应->类型('json')$这个->响应->主体(json_编码($logusers));也应该有效。但是,我个人更喜欢JSON视图,因为它不需要您向操作中添加特定于请求的代码。Cake将检测到请求是JSON,并为您相应地配置响应。好吧,我只是在查看文档,没有解释,它告诉我加载组件并设置_序列化,但什么都没有发生。检查您的请求。您必须发送Accept:application/json。或者向请求添加检测器并启用扩展解析: