首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >foreach正在丢失对象的值

foreach正在丢失对象的值
EN

Stack Overflow用户
提问于 2020-01-06 15:21:50
回答 2查看 63关注 0票数 0

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

我正在尝试从CellLineRepository中获取一个名为"Cell“的对象的私有值。getters正在工作,他们在一个不同的地方习惯了。

这是我的foreach的样子:

代码语言:javascript
复制
$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_cell_linesvar_dump()看起来不错,但是我丢失了"iPSC-ID“和"Lab-ID”。

代码语言:javascript
复制
object(CellLine)#9 (79) {
[
  "id": "CellLine":private
]=>
string(1) "1"
[
  "created_date": "CellLine":private
]=>
string(10) "2019-05-22"
[
  "created_by": "CellLine":private
]=>
string(3) "314"
[
  "last_modified_date": "CellLine":private
]=>
string(10) "2019-11-22"
[
  "last_modified_by": "CellLine":private
]=>
string(3) "301"
[
  "tab_type": "CellLine":private
]=>
string(8) "internal"
[
  "lab_id": "CellLine":private
]=>
string(5) "xxx"
[
  "alt_id": "CellLine":private
]=>
string(7) "xxx"
[
  "provider": "CellLine":private
]=>
string(36) "xxx"

$allcellsvar_dump()如下所示:

代码语言:javascript
复制
    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"
  }
}

有没有人有线索?

EN

回答 2

Stack Overflow用户

发布于 2020-01-06 15:40:47

请试着走这条路

代码语言:javascript
复制
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);

}

尝试使用数据库中的字段名进行提取

票数 0
EN

Stack Overflow用户

发布于 2020-01-06 15:59:21

哇,这太疯狂了。我使用了其他开发人员的模块,但他们在ORM中进行了权限检查,而不是在前端。这是我发现的:

代码语言:javascript
复制
  public function getLabId() {
    return perissionCheck('lab_id') ? $this->lab_id : '';
  }

无论如何,谢谢!:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59608140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档