有两个表User
和Mail
MailTable
:
\mail
\--|id
\--|user_id
\--|from_user_id
\--|other_fields
UserTable
:
\user
\--|id
\--|name
\--|other_fields
Mail
表与用户相关的两个字段=> user_id
和from_user_id
,如何使用eloquent获取与用户相关的数据,以便为一个用户获取收件箱和发件箱(已发送)?
答案 0 :(得分: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
根据应用程序中的定义方式调整命名空间。