2016-04-20 11 views
0

にNULL関連するモデルへのアクセス:私は

私は患者テーブルにし、患者のテーブルに外部キーphysician_userを持っていますダイヤルコード(別のテーブルのID - Diallingcodes)があり、diallingcodesテーブルには属性のコードがあります。

私の問題は、physician_userがNULLの場合は、$ objPatientModel-> physicianUserが空のオブジェクトの代わりにNULLを返すため、「非オブジェクトのプロパティを取得しようとする」のようなエラーがスローされます。 yii2でオーバーライドできるクラスまたはメソッドがあるので、上記のエラーはチェックを入れずに避けることができますか?

+0

NULLです。あなたが興味を持っている場合しかし、このロジックはPHPのマジックメソッド '__get()'によって実現します。 – SiZE

+0

@sizeは、私がチェックを配置する必要がいけないようにする方法はありますか? – alwaysLearn

+1

あなたは '(' catch'例外などの場所をチェックし... $ objPatientModel-> physicianUser!== nullの?$ objPatientModel-> physicianUser-> diallingCodeを試すことができます!== nullの?$ objPatientModel-> physicianUser-> diallingCode-> phonecode ... ' – SiZE

答えて

0

使用ArrayHelper。

\yii\helpers\ArrayHelper::getValue($objPatientModel, 'physicianUser.diallingCode.phonecode', null); 

それはphysician_userた場合の値にNULLを返しますが、空のオブジェクトを返すために、このロジックをオーバーライドしshoudn't

ArrayHelper api

関連する問題

 関連する問題