JBlake
JBlake

Reputation: 1

Laravel 5.1 PHP

I'm new to coding and Laravel 5.1, and after watching the tutorials by Laracasts I have been creating my own webpage. I came across and error that I cant fix...

Method [send] does not exist.

My code looks like this:

namespace App\Http\Controllers;

use Mail;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class ContactController extends Controller
{

    /**
     *
     * @param Request $request
     */
    public function emailContactForm (Request $request){
        $msg = $request->input('message');
        $name = $request->input('name');
        $email = $request->input('email');
        //
        $this->validate($request, [
            'title' => 'required|max 500',
            'name' => 'required',
            'email' => 'required',
        ]);
        //
        Mail::send(
            'emails.contactForm',
            [
                'message'=>$msg,
                'name'=>$name,
            ],
            function($m) use ($email) {
                $m->to('[email protected]', 'say hi')
                    ->subject('new message')
                    ->from($email);
            }
        );
        //
        return;
    }
}

I'm trying to use the mail function, which we have now got working, but the send still doesn't? Any suggestions? Thanks!

EDIT: Full stack trace as per laravel log file: http://pastebin.com/ZLiQ7Wgu

Upvotes: 0

Views: 133

Answers (1)

alariva
alariva

Reputation: 2139

At the very first sight, you are calling the controller method send() but you actually named it emailContactForm()

You dont post routes and actions so the quick fix by now is trying to rename emailContactForm to send, despite instead you should probably need to review all your related routing logic.

Upvotes: 1

Related Questions