sql >> データベース >  >> RDS >> Mysql

異なるクラスにRelation::morphMap()を使用する方法

    多形関係を定義することから始めましょう

    最初の関係....

    Package.php

    public function provider() {
      return $this->morphTo(null, 'map_type_id', 'map_id');
    }
    

    Venue.php

    public function packages() {
      // you should provide the relation name, in our exemple its called `provider` as a second parameter
      return $this->morphMany(VendorPackage::class, 'provider', 'venues');
    }
    

    Vendor.php

    public function packages() {
      // you should provide the relation name, in our exemple its called `provider` as a second parameter
      return $this->morphMany(VendorPackage::class, 'provider', 'vendors');
    }
    

    2番目の関係

    TicketBooking.php

    public function provider() {
      return $this->morphTo(null, 'map_type_id', 'map_id');
    }
    

    Venue.php

    public function bookings() { 
      return $this->morphMany(TicketBooking::class, 'provider', 'venues');
    }
    

    Decors.php

    public function bookings() {
      return $this->morphMany(TicketBooking::class, 'provider', 'decors');
    }
    

    Relation::morphMapを登録します として

    Relation::morphMap([
      'vendors' => \Vendor::class,
      'venues' =>  \Venue::class,
      'decors' =>  \Decor::class
    ]);
    



    1. PHPをMySqlからExcelスプレッドシートに変換する列の自動サイズ変更

    2. AWSRDSでのMySQLデータベースおよびOracleデータベースでのJDeveloperの使用パート1

    3. Oracle SQL Developer Tool:ダウンロードとインストール

    4. Sparkのjdbcに適したドライバーが見つかりません