在Yii中访问关系

时间:2014-03-19 05:23:32

标签: php yii

我有一个数据库,我使用链接表将客户端与tarriff链接,然后再将tarriff链接到tarriffdetails。以下是结构。

Client      BaseTarriff     BaseTariffDetails

ClientId    TarriffId       TarriffDetailsId            
            ClientId        TarriffCode
                            TarriffId

我想使用Client模型访问basetariffdetails,如下所示:

$models = Client::model()->with('tarriff')->findByPk(1);

$model->tarriff->baseTariffDetails->TarriffCode;

模型之间的关系如下:

Client
    'tariff' => array(self::BELONGS_TO, 'BaseTariff', 'TarriffId'),

BaseTarriff
    'baseTariffDetails' => array(self::HAS_MANY, 'BaseTariffDetails', 'TarriffId'),

感谢。

1 个答案:

答案 0 :(得分:0)

如果BaseTarrif只有一个BaseTariffDetails,你可以使用BaseTarrif-> BaseTarifDetails,但是如果BaseTarrif有很多BaseTariffDetails你必须通过$ model迭代,你可以从模型中获得结果。

这里我粘贴了我的代码示例,这是第一种情况

$reservation = Reservation::model()->searchTrack($track->number);
 $reservation->status;                
 $reservation->number;

第二种情况类似于

 $reservation = Reservation::model()->searchTrack($track->number);

   foreach ($reservation as $key => $value) {
         $value->status;
         $value->number
         }

希望这会对你有所帮助。