首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Laravel中的下拉选择发送电子邮件

基于Laravel中的下拉选择发送电子邮件
EN

Stack Overflow用户
提问于 2020-03-23 01:46:26
回答 1查看 193关注 0票数 0

我是Laravel的新手,正在尝试弄清楚如何根据下拉选择向某人发送电子邮件。我使用的是Laravel 7。我将在下面解释我的场景:

在注册时,我给用户一个选择,以选择一个特许经营从数据库中检索特许经营,并保存在用户表中的特许经营ID。注册成功后,我想发送一封电子邮件到属于所选特许经营的电子邮件地址,以便他们批准用户。

目前,它被设置为发送电子邮件到主站点管理员,这不是我想要的。

下面是我的注册函数:

代码语言:javascript
复制
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;
    } 

这是我的刀片文件中的下拉选择,用于在注册时选择特许经营:

代码语言:javascript
复制
<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> 

我想要触发的电子邮件地址位于我的特许经营表中,该表有一个特许经营电子邮件列。

那么,我如何修改下面的代码来获取注册页面上所选特许经营商的电子邮件地址?

代码语言:javascript
复制
$admin = User::where('Admin', 1)->first();
        if ($admin) {
            $admin->notify(new NewParentRegistration($user));
        } 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-23 08:54:23

如果您的Franchise模型在数据库中定义了email列,则可以直接将电子邮件发送到Franchise

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60802856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档