سلام.فرض کنید بنده یک کاربر به سایتم اضافه میکنم.بعد از ایجاد کاربر باید در چند جدول دیگه هم رکورد تعریف شه.مثلا دسترسی های کاربر و ...
من میتونم همه این کوئری ها رو تو یه Transactions هندل کنم تا اگر در هر مرحله به مشکل خورد کل فرایند لغو بشه و ارور برگردونه.
اما نمیخوام همه این موارد تو کنترلر ایجاد کاربر انجام شه.میخوام موارد مربوط به ایجاد سطوح دسترسی کاربر و ... رو با event ها هندل کنم.
به شکل زیر:
try {
DB::beginTransaction();
$newUser = User::create([
'name' => $companyName
, 'activityType' => $activityType
, 'city' => $city
, 'level_id' => $plan
, 'created_at' => Carbon::now()
]);
event(new UserCreated($newUser));
DB::commit();
return response()->json('ok');
} catch (Exception $exception) {
DB::rollBack();
Log::error($exception);
return response()->json('error');
}
من میخوام اگر listener تو ایجاد سطوح دسترسی به مشکل خورد ، خود کاربر هم ایجاد نشه اصلا.
ممنون میشم راهنمایی کنید
میتونید جاب تعریف کنید که در زمان فیلد شدن ، کارهای پاک کردن رو انجام بده ولی طبیعتا بهترین روش همین ترنزکشن هست که میتونید به یک جاب واحد الصاق کنید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟