سلام
خوب هستین؟
در لاراول با استفاده از ajax ، عناصر فرمی رو ایجاد می کنم مثلاً با وارد کردن یک متن در textbox ، در کنارش یک textbox جدیدی ساخته میشه (توسط ajax) ، تا اینجا مشکلی ندارم مشکل از اونجا بوجود میاد که بعد از ثبت اطلاعات و ذخیره در دیتابیس ، برای ویرایش کردن فرم باید دوباره از اول مراحل طی بشه که در اینصورت کاربر دچار مشکل و سردرگمی میشه .(اینو هم بگم که دارم روی اولین پروژم کار می کنم که خودم تعریفش کردم)
مانند :
بعضی از عناصر فرم مثلاً عنوان و توضیحات خوب ثابت هستند و میشه با
$model->title or old('title')
برگردوند اما چون عناصر جدید فرم توسط ajax ساخته می شن ، نمیشه اینجوری در laravel برگردوند
بنظرشما چجوری می تونم اینو درستش کنم ؟
خیلی ممنون
خسته نباشید .
دقیقا متوجه نشدم . چه عناصری توسط ajax ساخته میشه و مگه در دیتابیس ذخیره نمیشه که امکان برگشت توسط لاراول رو نداره ؟
بیشتر توضیح بدید تا شاید بتونیم کمکتون کنیم .
سلام
@vaysi
بنظرم با تصویر بهتر می تونم توضیح بدم
مرحله 1 :
http://s8.picofile.com/file/8331944518/1.jpg
مرحله 2 :
http://s9.picofile.com/file/8331944526/2.jpg
در مرحله 1 وقتی که روی مثلاً لوازم جانبی کلیک میشه ، از طریق ajax ، در مرحله 2 یک select box جدیدی ایجاد میشه و نمایش داده میشه .
خوب برای ذخیره در دیتابیس هیچ مشکلی ندارم اما وقتی می خوام ویرایش کنم ، در صفحه ویرایش فقط مرحله 1 نمایش داده میشه و باید از اول مراحل طی بشه که خوب وقتی کاربر از قبل انتخاب کرده چرا باید دوباره انتخاب کنه .
مشکل فقط اینجاست چجوری می تونم همه ی عناصر فرم رو برگردونم و کاربری که مثلاً لوازم جانبی رو انتخاب کرده و نوع لوازم جانبی رو هم انتخاب کرده در ویرایش نمایش داده بشه که اگه کاربر خواست ویرایشش کنه .
امیدوارم منظورم رو رسونده باشم.
خیلی ممنون
متوجه شدم .
نکته اول : که از نظر بنده توی کالبک ajax به جای اینکه بگید یک selectbox جدید ساخته بشه از قبل یه selectbox بسازید و فقط اون رو مخفی کنید و بعد توی کالبک ajax بگید که آیتم ها رو دریافت کنه و در قالب option به سلکت باکس مورد نظر اضافه کنه .
نکته دوم : اینکه صفحات ساخت و ویرایش رو از هم جدا کنید ( در صورتی که جدا نیستند ) . و بعد به جای اینکه توی صفحه ویرایش دیگه عمل ajax انجام نگیره و همه اطلاعات از قبل لود بشن . مثلا توی متد مربوط به edit اون کنترلرتون باید اطلاعات لوازم جانبی و نوع و هرچیزی که نیاز دارید رو بفرستید به ویو مورد نظر .
برای چک کردنش که ببینید کاربر کدوم رو انتخاب کرده و از قبل سلکت کنید فقط کافیه از همچین کدی استفاده کنید
@foreach($ExtraTools as $Extratool)
<option value="{{ $Extratool->id }}" {{ in_array($Extratool->id,$user->inventory->ExtraTools->pluck('name')->toArray()) ? 'selected' : '' }} >{{ $ExtraTool->name }}</option>
@endforeach ```
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟