علی امینی
5 سال پیش توسط علی امینی مطرح شد
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;
        }

    }

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