2016-06-11 6 views
0

세 테이블이 있습니다 units, renters, renter_units입니다. render_units 테이블의 필드는 id, unit_id, renter_id입니다. RentersController많은 관계가 있습니다.

$renters = Renter::with('renter_unit')->get(); 

는 그래서 $renders 배열

Collection {#212 ▼ 
    #items: array:1 [▼ 
    0 => Renter {#206 ▼ 
     #fillable: array:3 [▶] 
     #table: "renters" 
     #guarded: array:1 [▶] 
     #connection: null 
     #primaryKey: "id" 
     #perPage: 15 
     +incrementing: true 
     +timestamps: true 
     #attributes: array:7 [▶] 
     #original: array:7 [▶] 
     #relations: array:1 [▼ 
     "renter_unit" => Collection {#210 ▼ 
      #items: array:2 [▼ 
      0 => RenterUnit {#213 ▼ 
       #fillable: array:2 [▶] 
       #table: "renter_units" 
       #guarded: array:1 [▶] 
       #connection: null 
       #primaryKey: "id" 
       #perPage: 15 
       +incrementing: true 
       +timestamps: true 
       #attributes: array:5 [▼ 
       "id" => 1 
       "unit_id" => 1 
       "renter_id" => 1 
       "created_at" => "2016-06-11 02:40:44" 
       "updated_at" => "2016-06-11 02:40:44" 
       ] 
       #original: array:5 [▶] 
       #relations: [] 
       #hidden: [] 
       #visible: [] 
       #appends: [] 
       #dates: [] 
       #dateFormat: null 
       #casts: [] 
       #touches: [] 
       #observables: [] 
       #with: [] 
       #morphClass: null 
       +exists: true 
       +wasRecentlyCreated: false 
      } 
      1 => RenterUnit {#214 ▶} 
      ] 
     } 
     ] 
     #hidden: [] 
     #visible: [] 
     #appends: [] 
     #dates: [] 
     #dateFormat: null 
     #casts: [] 
     #touches: [] 
     #observables: [] 
     #with: [] 
     #morphClass: null 
     +exists: true 
     +wasRecentlyCreated: false 
    } 
    ] 
} 

을 보여줍니다하지만 너무 renter_unit 필드의 relationship 배열을 원하는 내

Render 모델은

public function renter_unit() 
    { 
     return $this->hasMany('App\RenterUnit'); 
    } 

그리고이다. 그것을 성취하는 방법?

답변

0

Many-To-Many 관계를 사용해야 할 수도 있습니다. 그렇다면, 당신은 당신의 RentersController에서
그런 다음 코드는 아래

Renter.php처럼 될 것 RenterUnit 같은
public function units() 
{ 
    return $this->belongsToMany('App\Unit'); 
} 
Unit.php
public function renters() 
{ 
    return $this->belongsToMany('App\Renter'); 
} 

renter_unit 테이블을 어떤 피벗 클래스가 필요하지 않습니다 각 임차인 인스턴스와 관련된 유닛에 액세스 할 수 있습니다.

$renters = Renter::with('units')->get(); 
foreach($renters as $renter) { 
    $units = $renter->units; //here they are, it's a collection 
}