这是我用来发送电子邮件的代码
Route::post('/mail/send', [
'EmailController@send',
]);
在EmailController
中,这是发送操作
public function send(Request $request)
{
$data = $request->all();
$data['email'] = Input::get('email');
$data['name'] = Input::get('name');
$obj = new \stdClass();
$obj->attr = 'Hello';
Mail::to("dev@mail.com")->send(new WelcomeEmail($obj));
}
获取错误为Function () does not exist
答案 0 :(得分:2)
在您的路线/web.php中
将其更改为
Route::post(‘/mail/send’,‘EmailController@send’);
请参阅文档以查看定义路线的可能选项
答案 1 :(得分:1)
在您的路线上...
Route::post('/mail/send','EmailController@send')->name('send_email');
在您的HTML表单内添加以下代码...
<form action="{{route('send_email')}}" method="post">
...
{{csrf_field()}}
答案 2 :(得分:1)
可以使用数组定义路由的操作方法,但不能简单地将controller@action
包装在数组中,您应该将其分配给数组的键'uses'
。
在您的示例中,应该像这样:
Route::post('/mail/send', [
'uses' => 'EmailController@send',
//'middleware' => .... assign a middleware to this route, if needed
]);
当我们要指定关于路由的更多规范(例如使用特定的中间件并传递中间件参数)时,通常使用数组形式。
如果您只想定义路线的处理方法,则可以简单地将controller@action
用作Route::post
的第二个参数:
Route::post('/mail/send','EmailController@send');