反对不返回所有带有教义的元素



我正在转储这个循环变量$document_id

foreach($onboarding_data as $user_id => $document_id) {
var_dump($document_id);
}

并返回一个元素数组,就像它应该的那样:

array(4) { [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" [4]=> string(1) "1" }

但是当我使用$document_id创建对象查询时

foreach($onboarding_data as $user_id => $document_id) {
$documents = $this->em->getRepository('EntitiesDocuments')->findById($document_id);
var_dump($documents);
}

My 对象仅包含数组第一个键的结果

array(1) { [0]=> object(EntitiesDocuments)#481 (3) { ["id":protected]=> int(1) ["documents":protected]=> string(8) "Form I-9" ["url":protected]=> string(7) "I-9.pdf" } }

其他键 [2]、[3]、[4] 会发生什么情况?为什么它们没有显示在我创建的对象中?

我可能是错的,但是这个

array(4) { [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" [4]=> string(1) "1" }

打印数组元素时看起来像整个数组的输出

检查此项以查看数据输出与您拥有的数据输出的差异

$a = array();
array_push($a,"test 1");
array_push($a,"test 2");
var_dump($a);
echo("<br/>");
foreach($a as $user_id => $document_id) {
var_dump($document_id);
}

输出为

array(2) { [0]=> string(6) "test 1" [1]=> string(6) "test 2" }
string(6) "test 1" string(6) "test 2"

我怀疑您的数组只有一个元素(该元素是您正在打印的 4 个元素的数组(。这就是为什么你只有一个输出而不是 4 个。

所以我认为这是你的主要问题,但@Alex霍万斯基在评论中所说的似乎是真的,即使这不是你在这里的主要问题。如果正确传递数据,则打印的数据将是相同的 4 倍。

相关内容

  • 没有找到相关文章

最新更新