2016-10-25 8 views
0

で雄弁ORMを使用して複数のテーブルを持つ多くの関係。一つ、私は3つのモデルユーザ、電子メールと電話とデータベースのテーブル下記のカラムを持つユーザーは、電子メールと電話を持っているLaravel

User: id, name 
    Emails: id, user_id, emails 
    Phones: id, user_id, phones 

は、今私は、私はそれを使用する必要があることを知ってほしい多くの関係

public function profile(){ 
    $data = array(); 
    $data['emails'] = $this->hasMany('App\Email'); 
    $data['phones'] = $this->hasMany('App\Phone'); 
    return 
} 

に雄弁ORMつを使用して電子メールや電話でのユーザーの関係を作るためにユーザーモデルでは、以下の機能を使用していますhasManyの()を2回メソッドまたはこれを行うには、他のより良い方法はありますか?

答えて

1

は個別の関係を定義する必要があります

$user = User::with('emails')->with('phones')->find($userId); 

あなたはドキュメントの外観hereをとることができます。これは、あなたがそのようなユーザーを照会することができます

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

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

+0

完全に作業します。ただ、FYIあなた –

+1

@AhmarArshadに感謝、あなたは二度 'WITH'呼び出す必要はありません。あなたは ''(「電子メール」、「携帯電話」)と一緒にそれらを組み合わせることができます。 –

関連する問題