2016-06-29 8 views
0

を取得し、私は私がTicket_tbのための関係を持っており、以下のようにtrainee_grant_tb構造のYii関係と合計

Booking 
     id (primary key) 
     name 
    Ticket 
     booking_id int, 
     seq int, 
     name 
     address, 
     primary key (booking_id,seq) 
     CONSTRAINT `fk_booking` FOREIGN KEY booking_id reference Booking 
    Trinee_Grant 
     id int 
     booking_id 
     seq 
     amount 
     CONSTRAINT `fk_trainne_ticket_grant` FOREIGN KEY (`booking_id`, `seq`) REFERENCES `ticket` (`booking_id`, `seq`) ; 

以下で3つのテーブル(予約、チケット、Trainee_grant)を持っています。私はtrainee_grantテーブルからすべてのbooking_idのSUM(量)を得ることができるように

public function relations() { 
     return array(
      'bookingSeq' => array(self::BELONGS_TO,'Ticket','booking_id,seq'), 
     ); 
    } 

以下のように

チケットモデル

public function relations() { 
     return array(
      'booking' => array(self::BELONGS_TO, 'Booking', 'booking_id'), 
      'traineeGrants' => array(self::HAS_MANY, 'TraineeGrant', 'booking_id'), 
      'traineeGrants1' => array(self::HAS_MANY, 'TraineeGrant', 'seq'), 
     ); 
    } 

とTraineeGrantモデルがどのように私は予約で関係を追加することができますか?

私は以下で試しましたが、私にエラーが出ます。

予約モデル

$relations['amountTraineeGrant'] = [ 
        self::STAT, 
        'TraineeGrant', 
        'booking_id', 
        'select' => 'SUM(amount)', 
       ]; 

それは

The relation "amountTraineeGrant" in active record class "Booking" is specified with a foreign key "booking_id" that does not point to the parent table "booking". 

次のように私にエラーを与える私が足りないエラーを見つけることができないです..私の何かが私に

答えて

0

を助ける.Plz私はあなたを推測relationhiopルールを間違ったモデルで適用しています。 Trainee_grantのモデルに適用する必要があります。 this