راکت

ارسال ایمیل انبوه با queue در لاراول

3 پاسخ

سلام خدمت شما عزیزان ، من میخوام به تعداده زیادی از کاربرام ایمیلی خبری ارسال کنم و این کارو با جاب ها تو لاراول انجام دادم ، همه چیز درسته ، ولی من فقط میتونم به یک نفر ایمیل ارسال کنم ، برای مثال:

$user = User::where('confirmation_code', NULL)->get();
        $job = new SendMail($user);
        dispatch($job);

خب این کد میگه که همه کاربرانی که ایمیلشونو تایید کردنو بگیر ولی ارور میده که این ارور هستش:

Argument 1 passed to App\Jobs\SendMail::__construct() must be an instance of App\User, instance of Illuminate\Database\Eloquent\Collection given, called in D:\signalvorg\SignalBedam\app\Http\Controllers\HomeController.php on line 31

وقتی get() رو first() میکنم درست میشه ولی خب فقط یه کاربرو میگیره:(

ثبت پرسش جدید

پاسخ‌ها

3
میلاد هدایت پور
میلاد هدایت پور
@miladparsi1070

تخصص: در حال پیشرفت

چیزی که به sendMail میفرستین باید ابجکت یک یوزر باشه
در حالی که شما دارین یه کالکشنی از یوزر هارو بهش پاس میدین
باید از foreach استفاده کنید

$users = User::where('confirmation_code', NULL)->get();
        foreach($users as $user) {
            $job = new SendMail($user);
            dispatch($job);
        }
محمد
محمد
@mhmd.dev

تخصص: طراح رابط کاربری، برنامه نویس وب و اندروید

یادم نبود اصلا ممنون بابت پاسختون

شاید پاسخ شما همین‌جا باشد

میلاد هدایت پور
میلاد هدایت پور
@miladparsi1070

تخصص: در حال پیشرفت

@mhmd.dev
هرپاسخی که بهتون کمک میکنه مشکلتون حل بشه رو به عنوان بهترین پاسخ انتخاب کنید تا بقیه هم سریع بتونن از اون استفاده کنن
موفق باشید

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام