我正在从数据库中检索数据,然后使用转换将其转换为我需要的方式。目前它看起来像这样
return [
'data' => [
"col1" => $tableData->col1,
"col2" => $tableData->col2,
"col3" => $tableData->col3
]
]
问题是,并非所有数据库表都具有col2。因此,我希望做这样的事情
return [
'data' => [
"col1" => $tableData->col1 or '',
"col2" => $tableData->col2 or '',
"col3" => $tableData->col3 or ''
]
]
上面似乎没有用,如果一个列不存在,我会得到一些关闭的东西
未定义的属性:stdClass :: $ col2
有什么方法可以解决这个问题吗?
由于
答案 0 :(得分:1)
您可以使用hasProperty
查看更多信息http://php.net/manual/en/reflectionclass.hasproperty.php
所以,你可以这样:
return [
'data' => [
'col1' => $tableData->hasProperty('col1')?$tableData->col1:'',
'col2' => $tableData->hasProperty('col2')?$tableData->col2:'',
'col3' => $tableData->hasProperty('col3')?$tableData->col3:'',
]
]