نوب
2 سال پیش توسط نوب مطرح شد
1 پاسخ

ساختار دیتابیس برای حساب های کاربران در حسابداریآنلاین با لاراول

سلام
چطوری توی لاراول میتونیم بدهکاری و بستانکاری کاربر را حساب کنیم و نمایش بدیم ؟
این کد جدول ثبت اطلاعات من هست

        Schema::create('works', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->unsignedBigInteger('customer_id');
            $table->foreign('customer_id')->references('id')->on('customers')->onDelete('cascade');
            $table->unsignedBigInteger('office_id');
            $table->foreign('office_id')->references('id')->on('offices')->onDelete('cascade');
            $table->string('price');
            $table->string('sum_price');
            $table->string('price_off');
            $table->string('price_one');
            $table->enum('invoice_paid',['no','yes'])->default('no');
            $table->enum('invoice',['no','yes'])->default('no');
            $table->string('stock');
            $table->string('type');
            $table->string('deposit'); // بدهکار - بستانکار
            $table->string('status');
            $table->string('invoice_id')->nullable();
            $table->text('information')->nullable();
            $table->timestamps();
        });

ستون deposit نوع بدهکاری و بستانکاری را نشون میده
خب چطور باید مثلا از ردیف 1 تا 5 کاربر که بدهکار هست و ردیف 6 بستانکار و از ردیف 7 تا مثلا 9 بازم بدهکار هست را محاسبه کنم ؟


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش مطرح شد
1

برای مقادیر عددی مثل مبلغ ها چرا از string استفاده کردید...؟! 🙄پیشنهادم اینه از integer و bigInteger استفاده کنید. از نظر بهره‌وری و موارد دیگه تفاوت زیادی بینشون هست.

برای تعیین نوع بدهکاری و بستانکاری هم یکی از روش هاش این هست که از مقادیر مثبت و منفی برای همون فیلد مبلغ استفاده کنید. اگر مثبت بود میشه بستانکاری و اگر منفی بود میشه بدهکاری.

اینجوری عملیات جمع زدنشون هم خیلی راحت تر و سریع تره و در لایه دیتابیس قابل انجام هست.


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

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