Php foreach正在丢失对象的值
所以这是一个完全愚蠢的初学者问题,但我花了太多时间只是调查发生了什么,我完全没有更多的想法 我试图从CellLineRepository中获取名为“Cell”的对象的私有值。吸气剂在工作,他们在不同的地方被使用 我的foreach是这样看的:Php foreach正在丢失对象的值,php,foreach,drupal,getter,Php,Foreach,Drupal,Getter,所以这是一个完全愚蠢的初学者问题,但我花了太多时间只是调查发生了什么,我完全没有更多的想法 我试图从CellLineRepository中获取名为“Cell”的对象的私有值。吸气剂在工作,他们在不同的地方被使用 我的foreach是这样看的: $all_cell_lines = CellLineRepository::findAll(); $allcells = []; foreach ($all_cell_lines as $cell) { $allcells[] = [
$all_cell_lines = CellLineRepository::findAll();
$allcells = [];
foreach ($all_cell_lines as $cell) {
$allcells[] = [
"CellID" => $cell->getId(),
"iPSC-ID" => $cell->getIpscId(),
"Lab-ID" => $cell->getLabId(),
"altID" => $cell->getAltId(),
"project" => $cell->getProject()
];
var_dump($allcells);
}
$all\u cell\u line
的var\u dump()
看起来不错,但我正在丢失“iPSC ID”和“实验室ID”
$allcells
的var\u dump()
如下所示:
array(1) {
[
0
]=>
array(5) {
[
"CellID"
]=>
string(1) "1"
[
"iPSC-ID"
]=>
string(0) ""
[
"Lab-ID"
]=>
string(0) ""
[
"altID"
]=>
string(7) "xxx"
[
"project"
]=>
string(3) "xxx"
}
}
有人有线索吗?请这边走
foreach ($all_cell_lines as $cell) {
$allcells[] = [
"CellID" => $cell->id,
"iPSC-ID" => $cell->ipsc_id,
"Lab-ID" => $cell->lab_id,
"altID" => $cell->alt_id,
"project" => $cell->project
];
var_dump($allcells);
}
尝试使用数据库中的字段名获取,这太疯狂了。我使用了其他开发人员的模块,但他们在ORM中进行了权限检查,而不是在前端。 这就是我发现的:
public function getLabId() {
return perissionCheck('lab_id') ? $this->lab_id : '';
}
无论如何,谢谢!:) 你能告诉我们你的
var\u转储($all\u cell\u line)是什么吗代码>看起来像吗?你确定你的$cell->getIpscId()
和$cell->getLabId()
的方法名是不是这两个原因造成了麻烦?你能不能从var\u dump中添加你的结果为第一个对象添加了$all\u cell\u行的var\u dump并匿名化了数据。但它充满了。对于方法名称:其定义如下,适用于前端内容:/能否请您也发布一个var_dump($allcells)的输出/结果代码>?var\u dump($cell->getIpscId())
和var\u dump($cell->getLabId())
在您的foreach
中查看您得到了什么。getIpscId()
从何处获取其值?不幸的是,这根本不起作用(只返回NULL),因为属性是私有的。
public function getLabId() {
return perissionCheck('lab_id') ? $this->lab_id : '';
}