Laravel 5.7: класс App \ Http \ Controllers \ MailableClass не найден

Я создал Mailable под названием Class UserRequest Я пытаюсь вызвать его изнутри контроллера, покупаю, это ошибка, которую я получаю:

Class 'App\Http\Controllers\UserRequest' not found

Я также пробовал ->send(new \UserRequest($msgdata));, но он все равно не работает.

Контроллер:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Mail;


class ContactController extends Controller
{

    public function index()
    {
        return view('contact');
    }


    public function sendemail(Request $request)
    {
        $msgdata = array('subject'=>$request->subject,'email'=>$request->email, 'name'=>$request->name,'body'=>$request->body);

        try
        {
            Mail::to('[email protected]')
            ->send(new UserRequest($msgdata));
        }
        catch(Exception $e)
        {

        }
    }
}

Какой путь к вашему классу Mailable? По ошибке он отличается от App\Http\Controllers\UserRequest.

Farooq Ahmed Khan 20.12.2018 08:39

в обычной папке почтовых сообщений: "app \ Mail \ UserRequest.php"

medo ampir 20.12.2018 08:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
6 423
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

добавить в шапку 'App \ Http \ Controllers \ UserRequest'

класс не является контроллером, это почтовый ящик в каталоге Mail.

medo ampir 20.12.2018 08:43

Путь к классу OP Mailable отличается от того, что вы предложили. Пожалуйста, взгляните на комментарии выше.

Farooq Ahmed Khan 20.12.2018 08:45

О, это моя вина.

JK_TAM 20.12.2018 08:49
Ответ принят как подходящий

Включите свой класс в топ вот так

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Mail;
use App\Mail\UserRequest; // including your class


class ContactController extends Controller
{

    public function index()
    {
        return view('contact');
    }


    public function sendemail(Request $request){

        $msgdata = array('subject'=>$request->subject,'email'=>$request->email, 
        'name'=>$request->name,'body'=>$request->body);

        try {
            Mail::to('[email protected]')->send(new UserRequest($msgdata));
        }catch(Exception $e){
            // Log your exception
        }
    }
}

используйте App \ Http \ Controllers \ UserRequest;

на вершине.

Вам нужно будет добавить правильный путь наверх, как указано другим.

Также проверьте пространство имен в классе UserRequest

Другие вопросы по теме