laravel - 通过 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 是“主题”、“或”正文等
如果我想获得“主题”,我想要的示例输出是“这是一个测试主题”。
解决方案
推荐阅读
- java - 一段时间后,HTTP 摘要身份验证失败并出现“400 Bad Request”
- java - 会话已过期
- jmespath - 如何仅选择包含具有超过 N 个元素的数组的对象
- javascript - Angular 5, rxjs- 等待 observable 在运行另一个进程之前仅在运行过程中完成
- mysql - 如何使用连接表而不使用 group by 获取唯一记录
- ios - 应用加速器中的 Firebase 和 Google 登录模块冲突
- java - java - 遇到空字符串时,BufferedReader readLine 停止读取
- html - 使用 flexbox 居中项目符号列表
- c# - 如何在 3 个不同的数组元素上使用异步
- symfony - 命令创建的问题