Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend\Stdlib\Hydrator\ClassMethods extract()返回空数组_Php_Zend Framework2_Table Data Gateway - Fatal编程技术网

Php Zend\Stdlib\Hydrator\ClassMethods extract()返回空数组

Php Zend\Stdlib\Hydrator\ClassMethods extract()返回空数组,php,zend-framework2,table-data-gateway,Php,Zend Framework2,Table Data Gateway,我之前提到了如何有效地使用tablegateway执行insert\update,并被告知Zend\Stdlib\Hydrator\ClassMethods,如下代码所示: 可替换为以下代码: saveAlbum(Album $album) { $hydrator = new ClassMethods(false); $data = $hydrator->extract($album); ... 但我发现当使用$hydrator->extract($albu

我之前提到了如何有效地使用tablegateway执行insert\update,并被告知
Zend\Stdlib\Hydrator\ClassMethods
,如下代码所示:

可替换为以下代码:

saveAlbum(Album $album) 
{
    $hydrator   = new ClassMethods(false);
    $data = $hydrator->extract($album);
    ...

但我发现当使用
$hydrator->extract($album)时它返回一个空数组,这可能是什么原因?我对传递到函数中的
$album
对象执行了
var\u dump()
,它似乎有效。我还需要做些什么才能让它正常工作?

类方法可以使用,或者假设每个属性都有
getXXX()
方法,但前面问题中的类没有。您可能想尝试使用
Zend\Stdlib\Hydrator\ObjectProperty
Hydrator,它应该使用对象的公共属性返回一个数组。

Nice,正是我想要的。我得仔细研究一下策略。没有任何警告,是吗?在我的模型中使用公共属性和exchangeArray(),就像在quickstart文档中一样,这似乎是一个很好的方法。
saveAlbum(Album $album) 
{
    $hydrator   = new ClassMethods(false);
    $data = $hydrator->extract($album);
    ...