发送随机ID - Laravel电子邮件

时间:2016-07-12 08:59:37

标签: php laravel laravel-5.2 laravel-mail

美好的一天

我正在使用Mailgun在提交表单后通过订单中的所需信息向用户发送电子邮件,我设法发送主题和电子邮件地址,但是我在发送分配的随机数时遇到问题订单的创建。

这是我的控制器:

public function store(Request $request)
{
    $order = $user->orders()->create([

            'randomid' => rand(100000,999999),
            'subject' => $request->get('subject'),
            'email' => $request->get('email'),
    ]);

    $data = $request->only('subject', 'email', 'randomid');

    Mail::send('emails.note',
        $data
        , function($message) use ($data)
        {
            $message->subject('New Order: '.$data['subject'])
                ->from('myemail@myserver.com')
                ->to($data['email']);
        });
}

2 个答案:

答案 0 :(得分:0)

expdp system/password@db10g full=Y directory=TEST_DIR dumpfile=DB10G.dmp logfile=expdpDB10G.log impdp system/password@db11g full=Y directory=TEST_DIR dumpfile=DB10G.dmp logfile=impdpDB11G.log 不是来自请求。您可以使用randomid手动生成其值!

请试试这个:

rand(100000,999999)

答案 1 :(得分:0)

我看到你从请求对象

获得$ data
$data = $request->only('subject', 'email', 'randomid');

但是randomid是在创建的方法中生成的

    $order = $user->orders()->create([

        'randomid' => rand(100000,999999),
        'subject' => $request->get('subject'),
        'email' => $request->get('email'),
]);

因此请求中没有randomid

我认为你应该从$ order获得$ data,如下所示:

$data = $order->toArray();

所以你将拥有:

public function store(Request $request)
{
    $order = $user->orders()->create([

            'randomid' => rand(100000,999999),
            'subject' => $request->get('subject'),
            'email' => $request->get('email'),
    ]);

    $data = $order->toArray();

    Mail::send('emails.note',
        $data
        , function($message) use ($data)
        {
            $message->subject('New Order: '.$data['subject'])
                ->from('myemail@myserver.com')
                ->to($data['email']);
        });
}