سلام وقتتون بخیر
یه سوال در باره لاراول اگه مقدور باشه راهنماییم کنین
مکشل من اینه که یه سری اطلاعات از سمت کاربر ارسال میشه که تو این قسمت یه مبلغم هست وقتی کاربر مبلغو میفرسته من تو جدول یه رکورد برای این گذاشتم که دررصدی از اون مبلغ از اون مبلغ ثبت شه ولی برای این که اون در صد ثبت شه سه تا شرط لازمه که اگ مبلغی که از سمت کاربر فرستاده شده مثلا ۵۱تومن بود با ۵درصد اگه ۱۰۰تومن بود با ۷درصد و بیشتر از ۲۰۰تومن بود با ۱۰ درصد الان من نمیتونم این قسمت درصدی از اون مبلغ رو تو جدول به ثبت برسونم ممکنه راهنماییم کنین؟
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();
}سلام
به این شکل در کنترلر عمل کنید و تست بگیرید
$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);
به نظر من به این شکل عمل کنید
اگر اروری هم دارید بزارید تا بررسی شه
سلام @Alimotreb
متاسفانه کار نکرد وقتی dd($data) رو یه ارایه برگردوند که توش مقداری هست که تو فیلد پرایس نوشته شده
array:1 [▼
"wage" => "2500000"
]
شاید پاسخ شما همینجا باشد
سلام
@rostamzadeemran93
ارورتون سینتکسی هست
برای این کار از سوییچ هم میتونید استفاده کنید
یا if های جدا از هم بنویسید
فرقی نداره
با هر 3 حالت تست بگیرید
نه نه من حواسم نبود @Alimotreb
مشکل اصلی ارور بخاطر این بود که ارایه رو نبسته بودم
الان مشکل اینه کلا همون ارایه رو که فقط بر میگردونه @Alimotreb
متاسفانه کار نکرد وقتی dd($data) رو یه ارایه برگردوند که توش مقداری هست که تو فیلد پرایس نوشته شده
array:6 [▼
"bimarestan" => "بیمارستان سینا"
"name" => "علیرضا"
"lastname" => "رستم زاده"
"prices" => "2500000"
"date" => "1371/12/29"
"wage" => "2500000"
]
من میخام wage یه درصدی از prices باشه
سلام
@rostamzadeemran93
بعد از اینکه مقدار رو گرفتید
تغییرات رو بدید
و اصلا توی یه متغیر دیگه ذخیره کنید
فرقی نداره
تغییراتتون رو اعمال کنید
خط به خط هم DD بگیرید
و بعد اطلاعات رو ذخیره کنید
@Alimotreb
وارد if نمیشه که عملیات اعمال بشه روش
array:۶ [▼
"bimarestan" => "بیمارستان سینا"
"name" => "علیرضا"
"lastname" => "رستم زاده"
"prices" => "۲۵۰۰۰۰۰"
"date" => "۱۳۷۱/۱۲/۲۹"
"wage" => "۲۵۰۰۰۰۰"
]
من میخام wage یه درصدی از prices باشه
@Alimotreb
دستت درد نکنه مشکلم حل شد ♥
خواهش میکنم
@rostamzadeemran93