عمران رستم زاده
6 سال پیش توسط عمران رستم زاده مطرح شد
9 پاسخ

لاراول

سلام وقتتون بخیر
یه سوال در باره لاراول اگه مقدور باشه راهنماییم کنین
مکشل من اینه که یه سری اطلاعات از سمت کاربر ارسال میشه که تو این قسمت یه مبلغم هست وقتی کاربر مبلغو میفرسته من تو جدول یه رکورد برای این گذاشتم که دررصدی از اون مبلغ از اون مبلغ ثبت شه ولی برای این که اون در صد ثبت شه سه تا شرط لازمه که اگ مبلغی که از سمت کاربر فرستاده شده مثلا ۵۱تومن بود با ۵درصد اگه ۱۰۰تومن بود با ۷درصد و بیشتر از ۲۰۰تومن بود با ۱۰ درصد الان من نمیتونم این قسمت درصدی از اون مبلغ رو تو جدول به ثبت برسونم ممکنه راهنماییم کنین؟

public function store(Request $request)
{
$data = $request->validate([
"hospital" => "required|string|between:۴,۱۰۰",
"name" => "required|string|between:۴,۱۰۰",
"lastname" => "required|string|between:۴,۱۰۰",
"prices" => "required|string|between:۴,۱۰۰",
"date" => "required|date",
]);

     if ( $request->prices <= 510000) {
        $data['wage'] =  $request->prices * 5 / 100;

    }elseif (  $request->prices <= 1000000) {
        $data['wage'] =  $request->prices * 7 / 100;

    }elseif ( $request->prices <= 2000000) {
        $data['wage'] =  $request->prices * 10 / 100;

    }

    SinaHospital::create($data);

   return back();
}

ثبت پرسش جدید
Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 6 سال پیش آپدیت شد
1

سلام

@rostamzadeemran93

به این شکل در کنترلر عمل کنید و تست بگیرید

$this->validate($request,[
"hospital" => "required|string|between:4,100",
"name" => "required|string|between:4,100",
"lastname" => "required|string|between:4,100",
"prices" => "required|string|between:4,100",
"date" => "required|date",
]);

 $data = [
            'wage' => $request->input('prices'),
//بقیه مواردی هم که میخوایید و در فرم دارید همینجا بنویسید و ذخیره کنید در این آرایه
            ]

if ( $request->input('prices') <= 510000) {
        $data['wage'] =( $request->input('prices') * 5 )/ 100;

    }elseif (  $request->input('prices') <= 1000000) {
        $data['wage'] = ( $request->input('prices') * 7) / 100;

    }elseif ( $request->input('prices') <= 2000000) {
        $data['wage'] =  ($request->input('prices') * 10) / 100;

    }

SinaHospital::create($data);

به نظر من به این شکل عمل کنید
اگر اروری هم دارید بزارید تا بررسی شه


عمران رستم زاده
تخصص : طراح و برنامه نویس
@emranrme 6 سال پیش آپدیت شد
0

سلام @Alimotreb
متاسفانه کار نکرد وقتی dd($data) رو یه ارایه برگردوند که توش مقداری هست که تو فیلد پرایس نوشته شده
array:1 [▼
"wage" => "2500000"
]


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 6 سال پیش مطرح شد
1

سلام
@rostamzadeemran93

ارورتون سینتکسی هست
برای این کار از سوییچ هم میتونید استفاده کنید
یا if های جدا از هم بنویسید
فرقی نداره
با هر 3 حالت تست بگیرید


عمران رستم زاده
تخصص : طراح و برنامه نویس
@emranrme 6 سال پیش مطرح شد
0

نه نه من حواسم نبود @Alimotreb
مشکل اصلی ارور بخاطر این بود که ارایه رو نبسته بودم


عمران رستم زاده
تخصص : طراح و برنامه نویس
@emranrme 6 سال پیش آپدیت شد
0

الان مشکل اینه کلا همون ارایه رو که فقط بر میگردونه @Alimotreb
متاسفانه کار نکرد وقتی dd($data) رو یه ارایه برگردوند که توش مقداری هست که تو فیلد پرایس نوشته شده
array:6 [▼
"bimarestan" => "بیمارستان سینا"
"name" => "علیرضا"
"lastname" => "رستم زاده"
"prices" => "2500000"
"date" => "1371/12/29"
"wage" => "2500000"
]
من میخام wage یه درصدی از prices باشه


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 6 سال پیش مطرح شد
1

سلام
@rostamzadeemran93

بعد از اینکه مقدار رو گرفتید
تغییرات رو بدید
و اصلا توی یه متغیر دیگه ذخیره کنید
فرقی نداره
تغییراتتون رو اعمال کنید
خط به خط هم DD بگیرید
و بعد اطلاعات رو ذخیره کنید


عمران رستم زاده
تخصص : طراح و برنامه نویس
@emranrme 6 سال پیش مطرح شد
0

@Alimotreb
وارد if نمیشه که عملیات اعمال بشه روش
array:۶ [▼
"bimarestan" => "بیمارستان سینا"
"name" => "علیرضا"
"lastname" => "رستم زاده"
"prices" => "۲۵۰۰۰۰۰"
"date" => "۱۳۷۱/۱۲/۲۹"
"wage" => "۲۵۰۰۰۰۰"
]
من میخام wage یه درصدی از prices باشه


عمران رستم زاده
تخصص : طراح و برنامه نویس
@emranrme 6 سال پیش مطرح شد
0

@Alimotreb
دستت درد نکنه مشکلم حل شد ♥


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 6 سال پیش مطرح شد

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

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