2017-11-07 9 views
1

こんにちはすべて私を助けることができますか?クエリービルダーtからEloquentクエリーに変換

私はこのようなクエリがある:

​​

雄弁に変換する方法?

モデルPersonFamily.php

public function relationship(){ 
    return $this->hasOne(Relationship::class,'id','relationship_id'); 
} 

public function user(){ 
    return $this->belongsTo(User::class); 
} 

public function journal(){ 
    return $this->hasMany(Journal::class,'id','id'); 
} 

モデルJournal.php

public function jurnalDetails(){ 
      return $this->hasMany(JurnalDetail::class,'id'); 
     } 

     public function personfamily(){ 
      return $this->belongsTo(PersonFamily::class,'person_id','journal_id'); 
     } 

JournalDetail.php

public function journal(){ 
     return $this->belongsTo(Journal::class,'id'); 
    } 

私はこのようにそれを試してみたが、それは正しく動作しません。 `` `

return $journal = PersonFamily::where([ 
      ['user_id','=',$userId] 
      ]) 
      ->with('journal','journal.jurnalDetails') 
      ->get(); 
``` 

答えて

0

私はこのようなものだろう:

// A family has many family members 
public function familyMember() { 
    return $this->hasMany('App\FamilyMember'); 
} 

FamilyMemberモデル::あなたは家族、FamilyMember、雑誌やJournalEntryモデル

ファミリーモデルを持っていると仮定すると

// A family member belongs to exactly one family 
public function family() { 
    return $this->belongsTo('App\Family') 
} 

// A family member has exactly one journal 
public function journal() { 
    return $this->hasOne('App\Journal'); 
} 

ジャーナルモデル:

// A journal belongs to exactly one family member 
public function familyMember() { 
    return $this->belongsTo('App\FamilyMember'); 
} 

// A journal has many journal entries 
public function journalEntries() { 
    return $this->hasMany('App\JournalEntry'); 
} 

JournalEntryモデル:

// A journal entry belongs to exactly one journal 
public function journal() { 
    return $this->belongsTo('App\Journal'); 
} 

次に、あなたのクエリはかなり簡単になり:

// If you need the whole Family 
$family = Family::find($familyId); 
// If you need all the family members that belong to a family 
$familyMembers = $family->familyMembers; 
// If you are looking for a particular family member 
$familyMember = FamilyMember::find($userId); 
// If you need the journal for a family member 
$journal = $familyMember->journal 
// If you need all the journal entries in a particular journal 
$journalEntries = $journal->journalEntries; 

あなたは、あなたのビューにこれらの変数を渡し、必要に応じてそれらを表示することができます。

See the documentation外部キーが異なる場合に、よりカスタマイズされた関係を作成できます。

関連する問題