laravel - 根据 Laravel 中的下拉选择发送电子邮件
问题描述
我是 Laravel 的新手,并试图弄清楚如何根据下拉选择向某人发送电子邮件。我正在使用 Laravel 7。我将在下面解释我的场景:
在注册时,我通过从数据库中检索特许经营权并将特许经营 ID 保存在用户表中,为用户提供了一个选择特许经营权的选项。成功注册后,我想向属于所选特许经营权的电子邮件地址发送一封电子邮件,以便他们批准用户。
目前它被设置为将电子邮件发送给主站点管理员,这不是我想要的。
这是我的注册功能:
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'franchise_id' => $data['franchise_id'],
])->assignRole('User');
$admin = User::where('Admin', 1)->first();
if ($admin) {
$admin->notify(new NewParentRegistration($user));
}
return $user;
}
这是我的刀片文件中用于在注册时选择特许经营权的下拉选项:
<div class="form-group row">
<label for="franchise" class="col-md-4 col-form-label text-md-right">Choose your Franchise</label>
<div class="col-md-6">
<select name="franchise_id" id="franchise" class="form-control">
@foreach ($franchises as $franchise)
<option value="{{ $franchise->id }}">{{ $franchise->franchise_name }}</option>
@endforeach
</select>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
我要触发的电子邮件地址位于我的特许经营表中,该表有一个特许经营电子邮件列。
那么如何修改下面的代码来获取注册页面上所选特许经营权的电子邮件地址?
$admin = User::where('Admin', 1)->first();
if ($admin) {
$admin->notify(new NewParentRegistration($user));
}
解决方案
如果您的Franchise
模型email
在数据库中定义了列,您可以将电子邮件直接发送到Franchise
.
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'franchise_id' => $data['franchise_id'],
])->assignRole('User');
$franchise = Franchise::find($data['franchise_id']);
// Notify the franchise...
$franchise->notify(new NewParentRegistration($user));
return $user;
}
别忘了——为了让它起作用,你还必须在 Franchise 模型中使用 Notifiable trait 。
推荐阅读
- e-commerce - 使用以前的销售数据确定“经常一起购买的产品”的数学算法?
- postgresql - PostgreSQL 按顺序生成结果
- elasticsearch - elasticsearch中的空字段需要替换
- vue.js - Vue JS:最初显示加载器并在获得响应后隐藏它
- python - Discord 机器人现在处理事件,如何解决?
- python - 了解插入,在 SQLAlchemy 中的冲突(upsert)
- matlab - Julia 的表现优于 MATLAB?
- html - Chrome不在扩展程序中显示本机选项对话框
- c++ - 在 VS2019 中使用 clang-cl 构建项目
- html - 如何设置 div 高度等于它的 div 高度?