Php 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[] = [

所以这是一个完全愚蠢的初学者问题,但我花了太多时间只是调查发生了什么,我完全没有更多的想法

我试图从CellLineRepository中获取名为“Cell”的对象的私有值。吸气剂在工作,他们在不同的地方被使用

我的foreach是这样看的:

$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 : '';
  }