- Laravel DB Eloquent Relationship(Many to many)

User : Potcast = 다:다 관계

Potcast는 여러 Audio파일을 가짐

//
class Potcast extends Model
{
//다:다 관계
    public function users()   {
        return $this->belongsToMany(
                     '\App\User',  // 목표
                     'potcast_user', // 중간
                     'potcast_id',  // 중간 모델 칼럼 - 현재 모델과 연결
                     'user_id'     // 목표 모델 칼럼
                    );
    }

    // 1:다 관계
    public function audio()  {
        return $this->hasMany('\App\Audio', //목표
                    'audio_id', //목표 모델 칼럼
                    'potcast_id' //현재 모델 칼럼
);
    }

//================
//Audio  모델
class Audio extends Model {

public function users() {
return $this->hasManyThrough(
                            '\App\User', //목표 모델
                            '\App\PotcastUser', //중간 모델, 
                            'potcast_id',   // 중간 모델 칼럼 (현재 모델과 연결)
                            'user_id',  // 목표 모델 칼럼
                            'audio_id',   // 현재 모델 칼럼
                            'user_id'); // 중간 모델 칼럼 (목표 모델과 연결)
}

public function potcast()  {
         return $this->belongsTo(
                      '\App\Potcast', //목표
                      'potcast_id', //목표 모델 칼럼
                      'audio_id' //현재 모델 칼럼
          );
}

Posted by 코덴스

댓글을 달아 주세요