سلام
چطوری توی لاراول میتونیم بدهکاری و بستانکاری کاربر را حساب کنیم و نمایش بدیم ؟
این کد جدول ثبت اطلاعات من هست
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 بازم بدهکار هست را محاسبه کنم ؟
برای مقادیر عددی مثل مبلغ ها چرا از string استفاده کردید...؟! 🙄پیشنهادم اینه از integer و bigInteger استفاده کنید. از نظر بهرهوری و موارد دیگه تفاوت زیادی بینشون هست.
برای تعیین نوع بدهکاری و بستانکاری هم یکی از روش هاش این هست که از مقادیر مثبت و منفی برای همون فیلد مبلغ استفاده کنید. اگر مثبت بود میشه بستانکاری و اگر منفی بود میشه بدهکاری.
اینجوری عملیات جمع زدنشون هم خیلی راحت تر و سریع تره و در لایه دیتابیس قابل انجام هست.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟