Невозможно использовать PHP признак внутри модели laravel

Невозможно использовать PHP признак внутри модели laravel

21.02.2020 03:57:24 Просмотров 16 Источник

У меня есть черта, которую я использую для отправки почты с помощью mailgun PHP sdk, я получаю следующую ошибку при попытке отправить почту:

 Trait 'App\Models\sendMailgunSdkApi' not found

Это моя модель скидок, в которой я использую признак внутри метода sendDiscountMail1,

<?php
namespace App\Models;


use Illuminate\Database\Eloquent\Model;
use App\Models\DiscountCode;
use App\Models\Order;
use Carbon\Carbon;
use App\Models\Scopes\Discounts;
use Mailgun\Mailgun;
use App\Traits\SendMail;


class Discount extends Model
{


    use Discounts, sendMailgunSdkApi;

      public static function sendMail1($order)
    {

        $mailData = 
        [
            'order' => $order
        ];

        $mail = $this->sendMailgunSdkApi('emails.discounts.discount-mail-1', $mailData, 'Disfruta de tu nuevo descuento en '.config('app.name').'.', 'gabogabans@gmail.com');

        return response()->json([
            'mail' => $mail,
        ]);
    }


}

Почему он пытается найти черту в моей папке моделей?

Моя черта на всякий случай:

<?php
namespace App\Traits;


trait SendMail
{


    public function sendMailgunSdkApi($view, $mailData, $subject, $to)
    {
        $html = view($view, compact('mailData'))->render();

        $result = app(Mailgun::class)->messages()->send(config('mail.mailgun.domain'), [
            'from' => config('mail.from.name').' <'.config('mail.from.address').'>',
            'to' => $to,
            'subject' => $subject,
            'html' => $html,
        ]);

        return $result;
    }




}
У вопроса есть решение - Посмотреть?

Ответы - Невозможно использовать PHP признак внутри модели laravel / Cannot use PHP trait inside laravel model

Dilip Hirapara

21.02.2020 03:59:26

use SendMailв качестве признака, а затем вызовите sendMailgunSdkApi

Закрыть X