2016-09-24 7 views
-1

私はデータベースからデータを取得していますが、変換を使用してそれを必要な方法に変換しています。現時点では問題がある。このテーブルから欠落しているデータを処理する

return [ 
    'data' => [ 
     "col1" => $tableData->col1, 
     "col2" => $tableData->col2, 
     "col3" => $tableData->col3 
    ] 
] 

のようなものではなく、すべてのデータベーステーブルは、インスタンスのCOL2を持つことになりそうです。 stdClass:そのように、私はこの

return [ 
    'data' => [ 
     "col1" => $tableData->col1 or '', 
     "col2" => $tableData->col2 or '', 
     "col3" => $tableData->col3 or '' 
    ] 
] 

ような何かを探しています上記の列が存在しない場合、私は

未定義のプロパティオフ線に沿って何かを得る、しかし動作するようには思えません:: $ col2

これを処理する方法はありますか?

おかげ

答えて

1

あなたはだからここhttp://php.net/manual/en/reflectionclass.hasproperty.php

hasPropertyと詳細情報を確認することができ、あなたはこのようなものかもしれない:

return [ 
    'data' => [ 
     'col1' => $tableData->hasProperty('col1')?$tableData->col1:'', 
     'col2' => $tableData->hasProperty('col2')?$tableData->col2:'', 
     'col3' => $tableData->hasProperty('col3')?$tableData->col3:'', 
    ] 
] 
+0

その反射物にするために私を必要としないことには何を? –

+0

いいえ、その関数はどのクラスでも機能します。 –

関連する問題