علی امینی
4 سال پیش توسط علی امینی مطرح شد
0 پاسخ

استفاده از static function ها در مدل

دوستان سلام وقت همگی بخیر.
من برای ساخت فاکتور ها میخوام که اوپراتور آیتم های فاکتور رو بهم بده و بعد من بعد از اعتبار سنجی مقدار قیمت کل و تخفیف کل و مبلغ قابل پرداخت فاکتور رو در Request اضافه میکنم و میفرستم برای تابع static زیر که در مدل Invoice.
در این فانکشن من ابتدا request رو اعتبار سنجی میکنم و سپس عملیات خودم روش انجام میدم.

  public static function createInvoice(Request $request)
    {
        $request = app()->make(InvoiceRequest::class);
        $attributes = $request->all();
        try {
            DB::transaction(function () use ($attributes) {
                $invoice = Invoice::create($attributes);
                $invoice->items()->forceDelete();
                $invoice->items()->createMany($attributes['items']);
            });
        } catch (ThrowableAlias $e) {
            throw $e;
        }

    }

همه اینا اوکی . من بخاطر این اینکار رو کردم که من بارها در جاهای مختلف نیاز دارم که فاکتور بسازم و اگر این کار رو نمیکردم مجبور بود همه جا این کد رو تکرار کنم.
بنظرتون راه درستی رفتم ؟ استفاده اینچنینی در مدل کار درستیه ؟
ممنون از همه


ثبت پرسش جدید

به همدیگه کمک کنیم

به علی امینی کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

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

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