2016-07-28 10 views
0

2つのテーブルUserMailLaravel雄弁 - 二つのフィールド

MailTable有することにより、別のテーブルを関連付ける方法:

\mail 
\--|id 
\--|user_id 
\--|from_user_id 
\--|other_fields 

UserTableを:

\user 
\--|id 
\--|name 
\--|other_fields 

Mailテーブルは、ユーザに関連しています2つのフィールド=>user_idfrom_user_id、eloqueの使い方ユーザーに関連するデータを取得するには、受信ボックス送信ボックス(送信済み)を1人のユーザーに対して取得しますか?

+1

モデル、現在のマッピングを貼り付けてください。ユーザー関係のhasOneはメールのbelongsToと連携する必要があります –

+1

1対多で1対多で雄弁を使うことができます。詳細はこちらをご確認ください - https://laravel.com/docs/5.2/eloquent-relationships#one-to-many – Arvind

答えて

2

モデルがどのように定義されているかわかりませんが、このようなものはうまくいくはずです。その後、使用をフェッチする

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Mail extends Model 
{ 
    public function user() 
    { 
     return $this->hasOne('App\User'); 
    } 

    public function from_user() 
    { 
     return $this->hasOne('App\User', 'id', 'from_user_id'); 
    } 
} 

$from_user = $mail->from_user

は、彼らがあなたのアプリケーションで定義されてきた方法に応じて名前空間を調整します。

+1

私は同じ解決策も考えていましたが、少なくともあなたは私を確信させました。 +1 – C2486