2016-07-28 6 views
0

두 테이블 UserMailLaravel 웅변 - 두 필드

MailTable함으로써 다른 테이블을 관련시키는 방법

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

UserTable을 :

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

Mail 테이블은 사용자와 관련된 두 필드 =>user_idfrom_user_id, eloque 사용 방법 사용자와 관련된 데이터를 가져 오려면 받은 편지함보낼 편지함 (보낸 사람)?

+1

모델을 붙여넣고 현재 매핑하십시오. 사용자 관계의 hasOne이 메일의 belongsTo와 작동해야 함 –

+1

일대일을 사용하여 설득력을 사용할 수 있습니다. 자세한 내용은 다음을 확인하십시오. https://laravel.com/docs/5.2/eloquent-relationships#one-to-many – Arvind

답변

2

모델이 정의 된 방법을 잘 모르지만이 같은 것이 작동해야합니다. $from_user = $mail->from_user

그들이 당신의 응용 프로그램에 정의 된 한 방식에 따라 네임 스페이스를 조정합니다

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'); 
    } 
} 

그런 다음 사용 가져 오기합니다.

+1

나는 또한 최소한 당신이 나에게 확신시켜 주었던 동일한 해결책을 생각하고 있었다. +1 – C2486