راکت

لاراول

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();
}
ثبت پرسش جدید

پاسخ‌ها

9
Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام

@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

تخصص: طراح و برنامه نویس

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

شاید پاسخ شما همین‌جا باشد

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@rostamzadeemran93

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

عمران رستم زاده
عمران رستم زاده
@emranrme

تخصص: طراح و برنامه نویس

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

عمران رستم زاده
عمران رستم زاده
@emranrme

تخصص: طراح و برنامه نویس

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

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@rostamzadeemran93

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

عمران رستم زاده
عمران رستم زاده
@emranrme

تخصص: طراح و برنامه نویس

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

عمران رستم زاده
عمران رستم زاده
@emranrme

تخصص: طراح و برنامه نویس

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

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

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

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