根据 Laravel 中的下拉选择发送电子邮件
Sending an email based on a dropdown selection in Laravel
我是 Laravel 的新手,正在尝试了解如何根据下拉列表 selection 向某人发送电子邮件。我正在使用 Laravel 7。我将在下面解释我的情况:
在注册时,我通过从数据库中检索特许经营权并将特许经营权 ID 保存在用户 table 中,为用户提供 select 特许经营权的选项。成功注册后,我想向属于 selected 特许经营权的电子邮件地址发送一封电子邮件,以便他们批准该用户。
目前设置为将电子邮件发送到主站点管理员,这不是我想要的。
这是我的注册函数:
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;
}
这是我的 blade 文件中用于选择注册特许经营权的下拉菜单 selection:
<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>
我要触发的电子邮件地址位于我的 Franchise table 中,其中有一个 franchise 电子邮件列。
那么我如何修改下面的代码以在注册页面上获取 selected 特许经营权的电子邮件地址?
$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;
}
不要忘记 - 为了使它起作用,您还必须 use the Notifiable trait 在特许经营模式中。
我是 Laravel 的新手,正在尝试了解如何根据下拉列表 selection 向某人发送电子邮件。我正在使用 Laravel 7。我将在下面解释我的情况:
在注册时,我通过从数据库中检索特许经营权并将特许经营权 ID 保存在用户 table 中,为用户提供 select 特许经营权的选项。成功注册后,我想向属于 selected 特许经营权的电子邮件地址发送一封电子邮件,以便他们批准该用户。
目前设置为将电子邮件发送到主站点管理员,这不是我想要的。
这是我的注册函数:
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;
}
这是我的 blade 文件中用于选择注册特许经营权的下拉菜单 selection:
<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>
我要触发的电子邮件地址位于我的 Franchise table 中,其中有一个 franchise 电子邮件列。
那么我如何修改下面的代码以在注册页面上获取 selected 特许经营权的电子邮件地址?
$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;
}
不要忘记 - 为了使它起作用,您还必须 use the Notifiable trait 在特许经营模式中。