首页 > 解决方案 > 通过 laravel eloquent 模型在连接三个表中获取特定值

问题描述

我有 3 张桌子

Mail_Settings_Line_types table
 id
 mail_line_type

其中 mail_line_type 的值为“body”“subject”“greeting”

Mail_Settings_Details table
  id
  mail_line
  mail_line_type_id
  mail_id

其中mail_line可能有“Dear {}}”,它将与上面的“greeting”链接

Mail_Settings table
 id
 mail_type

调用的mail_type“新电子邮件 1”、“新电子邮件 2”

我的模型:

邮件设置

public function mail_setting_details(){
        return $this->hasMany('App\MailSettingDetail','MailSettingsTypeID','id' );
    }

邮件设置详情

protected $fillable = [
        'MailSettingsLineTypeID','MailSettingsTypeID','mail_line'

   public function mail_setting_line_type(){
        return $this->hasOne('App\MailSettingLineType','id','MailSettingsLineTypeID'    );
    }

    public function mail_setting(){
        return $this->hasOne('App\MailSetting','id','MailSettingsTypeID'    );
    }

MailSettingLineType

'mail_line_type'

public function mail_setting_details(){
    return $this->hasMany('App\MailSettingDetail','MailSettingsLineTypeID','id' );
}

在我的控制器中,我正在调用以获取特定的邮件模板:

$mail_setting = MailSetting::where('mail_type', 'New Email 2')->first();

我想获取 Mail_Settings_Details.mail_line 的值,其中 Mail_Settings_Line_types.mail_line_type 是“主题”、“或”正文等

如果我想获得“主题”,我想要的示例输出是“这是一个测试主题”。

标签: laraveleloquent

解决方案


推荐阅读