آپدیت کردن سفارشی

2 ماه پیش
توسط الیاس بشکنی آپدیت شد
Matthew ( 16650 تجربه )
2 ماه پیش
تخصص : ساده

@ali.bayat
این کد منه

auth()->user()->form_permission()->update([
            'can_permission'=>$valiDate['can_permission'],
            'can_view'=>$valiDate['can_view'],
            'can_insert'=>$valiDate['can_insert'],
            'can_edit'=>$valiDate['can_edit'],
            'can_delete'=>$valiDate['can_delete'],
            'can_export'=>$valiDate['can_export'],
            'can_edit_form'=>$valiDate['can_edit_form'],
            'can_delete_form'=>$valiDate['can_delete_form'],
            'can_answer'=>$valiDate['can_answer'],
            'can_form_setting'=>$valiDate['can_form_setting'],
            'form_id'=>$id,
        ]);

میخوام زمانی که آپدیت کنم به این شکل آپدیت نکنم هر فیلدی رو خواستم بنویسم و آپدیت بشه یا 2 تا فیلد خواستم آئدیت بشه
مثلا بگم فیلد can_view,can_editفقط آپدیت بشه دیگه بقیه رو ننویسم کدش چطوری میشه

علی بیات ( 300117 تجربه )
2 ماه پیش
تخصص : توسعه دهنده ارشد وب

قبلا این سوال رو پرسیدین و اشاره کردم باید از متد save استفاده کنی.

Matthew ( 16650 تجربه )
2 ماه پیش
تخصص : ساده

@ali.bayat
علی اقا با متد save نمیشه بگم فقط can_permissionوcan_view رو سیو کن ایراد میگیره که بقیه فیلدها رو هم پر کن من میخوام هر فیلدی که نیاز دارم رو پر کنم و ذخیره کنم

 $valiDate=$this->validate($request,[
            'can_permission'=>'',
            'can_view'=>'',
            'can_insert'=>'',
            'can_edit'=>'',
            'can_delete'=>'',
            'can_export'=>'',
            'can_edit_form'=>'',
            'can_delete_form'=>'',
            'can_answer'=>'',
            'can_form_setting'=>'',
        ]);
        $user=Form_permissionModel::find($id);
        $user->can_permission=$request->can_permission;
        $user->save();

الان ارور میده همه فیلدها رو پر کن

الیاس بشکنی ( 71745 تجربه )
2 ماه پیش
تخصص : در حال یادگیری
User::where('active', 1)->update(['delayed' => 1]);

با متد آپدیت نمیشه؟!

Matthew ( 16650 تجربه )
2 ماه پیش
تخصص : ساده

@elyasbeshkani

فکر نکنم چون میدونی مثلا در کد بالا من میخوام فقط can_view,can_edit این دو فیلد رو آپدیت کنم شاید دفعه بعد نیاز داشتم can_insertرو آپدیت کنم نمیدونم منظورم رو رسوندم .
نمیخوام هر دفعه تمام فیلد ها رو بنویسم فقط اونهایی که نیاز به آپدیت دارند رو بنویسم چون روشی که من استفاده کردم باید همه فیلدها رو بنویسم و اگه یکی رو ننویسم ارور میده
ممنون میشم کمک کنید

Mohammad ( 12340 تجربه )
2 ماه پیش
تخصص : Back-End developer

سلام
میتونی از مقدار دیفالت ها null استفاده کنی.
مقدار دیفالت:
توی ساختار جدول به فیلدهات یه مقدار پیشفرض بدی مثلا اول همه فیلدها مقدارشون ۰ باشه بعد هر کدوم خواستی ۱ کن.
مقدار نال:
بازهم داخل ساختار جدولت میتونی مشخص کنی چه فیلدهایی نال باشن(یعنی وارد کردنشون الزامی نیست).

الیاس بشکنی ( 71745 تجربه )
2 ماه پیش
تخصص : در حال یادگیری

@mehdisut
من متوجه نمیشم
خب موقع INSERT آره نباید نال باشه و همه باید وارد بشن ولی موقع UPDATE که فرقی نمیکنه، هر ستونی که بخوایم رو میتونیم آپدیت کنیم
شاید مشکل از یه جای دیگس

برای ارسال پاسخ باید وارد سایت شوید