2016-07-28 94 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 nt来获取与用户相关的数据以获得收件箱发件箱(发送)供一位用户使用?

+1

请粘贴您的模型,当前映射。 A hasOne in User relationship should be belongsTo from Mail –

+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