调试save()返回false CakePHP 3.0

前端之家收集整理的这篇文章主要介绍了调试save()返回false CakePHP 3.0前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一些代码在途中遇到了一些问题,我在调试它时遇到了麻烦.

这是它的简化版本.

$data = $this->request->data;

$form = $this->Forms->get($data['id'],[
    'contain' => ['FieldsForms' => ['data']
    ]
]);

$form = $this->Forms->patchEntity($form,$data,['associated' => [
        'FieldsForms.Data',]
]);

if ($this->Forms->save($form)) {
    // sunshine and rainbows
} else {
    // wailing and gnashing of teeth
}

我没有任何错误就哭了,咬牙切齿,据我所知,如果我调试$data它看起来没问题(虽然因为它很长并包含一堆UUID,所以我可能会遗漏一些东西).

验证错误是空的.

保存返回false – 任何关于如何调试它的建议都可以保存我留下的理智.

谢谢!

问题原来是数据,正如预期的那样,但由于保存返回错误且数据非常大,因此无法立即看到.

我首先制作了一个问题数据的子集,显示了相同的行为,然后根据ndm的建议,更改了保存函数的ORM / Table.PHP代码,如下所示,以便能够看到问题所在:

$x = $entity->errors();
        if ($x) {
            debug($entity);
            debug($x);
        // if ($entity->errors()) {
            return false;
        }

这样我就可以看到发生了什么,然后继续修复数据.

猜你在找的PHP相关文章