رفتن به مطلب
انجمن پشتیبانی لاراول ایران

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

saber

مدیرکل
  • تعداد ارسال ها

    339
  • تاریخ عضویت

  • آخرین بازدید

  • Days Won

    75

saber last won the day on فوریه 17

saber had the most liked content!

اعتبار در انجمن

140 فوق العاده عالی

درباره saber

  • درجه
    کاربر فعال

آخرین بازدید کنندگان نمایه

بلوک آخرین بازدید کننده ها غیر فعال شده است و به دیگر کاربران نشان داده نمیشود.

  1. لینک زیر رو چک کنید https://stackoverflow.com/questions/28956911/how-can-i-access-my-laravel-app-from-another-pc
  2. اینقسمت باید id شهری رو که انتخاب شده از طریق جیکوئری دریافت کنید و با نام city به کنترلر ارسال کنید چون توی کنترلر دیدم با نام city دریافت میکنید به شکل زیر function manage_region_status(status) { let city = $('#city_input_id_add_here').val(); $.ajax({ type:'POST', url:"{{ route('your route name') }}" data: { "_token": "{{ csrf_token() }}", status: status, city: city }, }); } توی کنترلر یه فیلد با مقدار all هم دیدم دریافت میکنید اون رو هم باید مقدارش رو از فرم بگیرید و توی ایجکس ارسال کنید
  3. اون جدولی که بهتون گفتم براساس اون سناریوی اولی بود که گفته بودید. الان میخواید بطور جداگانه برای هر محصولی تخفیف ایجاد کنید؟ یا میخواید کدهای تخفیف استفاده شده رو برای هر محصولی مشخص کنید؟
  4. باید یه بخش تنظیمات داشته باشید و از طریق اون همیشه طبق نیازی که دارید تخفیف رو تعیین کنید مثلا در تنظیمات مشخص کنید تعداد معرف: x و میزان تخفیف y بعد براساس تعداد معرفیهای کاربر و تنظیماتی که انجام دادید میتونید میزان تخفیف رو محاسبه کنید.
  5. برای این موضوع میتونید یه بخش تنظیمات توی پنل ادمین داشته باشید و بخشهایی رو که میخواید قابل فیلتر باشن از اونجا مشخص کنید و هر زمانی خواستید یه بخشی رو فعال یا غیرفعال کنید
  6. توی پست اول گفتید هر کاربر که از کد معرف استفاده کنه مثلا 30 درصد تخفیف به کاربر معرف تعلق بگیره اگر اینطوری باشه و میخواید برای هر ثبت نام معرفی شده یه کد تخفیف جنریت کنید میتونید یه جدول برای تخفیفها بسازید و وقتی کاربری با کد یه کاربر ثبت نام کرد تخفیف رو براش توی جدول تخفیفها ثبت کنید این جدول هم میتونه ستونهای زیر رو داشته باشه: discount_id discount_user_id شناسه کاربری که تخفیف بهش تعلق گرفته discount_code کد تخفیف ایجاد شده discount_percent درصد تخفیف discount_status وضعیت تخفیف که 0 یا 1 بگیره که پیشفرض 0 باشه و زمانی که از کد تخفیف استفاده شد به 1 تغییر بدید که مشخص باشه کدوم تخفیفها استفاده شده created_at updated_at کلا تخفیف حالتهای مختلفی میتونه داشته باشه ولی با این روش به نظرم چیزی رو که میخواید میتونید پیاده سازی کنید.
  7. چون همه مناطق شما در یه وضعیت هستن و فعال یا غیرفعال هستن توی کنترلر که در متد fetchRegion مناطق رو دریافت میکنید status رو اونجا چک کنید و توی response که برگشت میدید یه فیلد با اسم status قرار بدید و مقدارش رو برابر با وضعیت مناطق دریافتی قرار بدید بعدشم که در بخش جیکوئری با پاسخی که ایجکس دریافت کرده دکمه ها رو مدیریت کنید. مشابه کد زیر میتونید status رو پاس بدید public function fetchRegion(Request $request) { $data['regions'] = Region::where("city_id", $request->city_id)->get(); $data['status'] = $data['regions'][0]->status; // دقیقا مطابق با فیلدی که در دیتابیس هست مقدار رو دریافت کنید return response()->json($data); }
  8. دیتابیستون رو چک کنید ببینید اطلاعات چطوری ذخیره شدن احتمال داره اطلاعات درست توی دیتابیستون ذخیره نشده
  9. بین شهر و منطقه رابطه چند به چند دارید؟ و بین منطقه و کاربران رابطه یک به چند؟
  10. باید از where استفاده کنید و count رو بگیرید $count = User::where('reagent_code', $user->invite_code)->count();
  11. برای اینکه status رو توی response ندارید من اون رو برای تست نوشتم و شما باید مقدارش رو از وضعیت مناطق بگیرید و در response همون مقدار رو دریافت و براساس اون دکمه ها رو مخفی یا نمایش بدید
  12. با همون ستونها میتونید کار کنید یکی برای معرفی افراد جدید هست دومی هم که برای این هست که مشخص بشه کاربر توسط چه کسی معرفی شده و طبق همون ستون reagent_code باید تعداد افرادی رو که معرفی کرده پیدا کنید
  13. شرطهایی رو که توی جستجو گذاشتید از طریق فرم ارسال نمیکنید؟ توی کنترلر مرحله به مرحله بعد از هر شرط یه dd بگیرید ببینید اشکال کارتون کجا هست اگه شرطها برقرار باشن و روابط رو درست پیاده سازی کنید خروجی میده
  14. باید روابط بین جداول رو اول ایجاد کنید بعد توی کوئریها ازشون استفاده کنید کلا روشهای مختلفی میشه به نتایج رسید ولی با روابط اول باید بین شهر و منطقه و کاربران روابطی رو که دارن ایجاد کنید مثلا به شکل زیر // User model public function region() : BelongsTo { return $this->belongsTo(Region::class); } =========================== // City model public function regions() : HasMany { return $this->hasMany(Region::class); } ============================ // Region model public function users() : HasMany { return $this->hasMany(User::class); } public function city() : BelongsTo { return $this->belongsTo(City::class); } ======================== // توی کنترلر به شکل زیر $users = User::where('status', true); if ($request->has('age_difference')) { $users->where('age_difference', '=', $request->age_difference); } if ($request->has('time')) { $users->where('time', '=' , $request->time); } if ($request->has('disability')) { $users->where('disability', '=' , $request->disability); } if ($request->has('name')) { $users->where(function ($query) use ($request) { $query->whereHas('region', function ($query) use ($request) { $query->whereHas('city', function ($query) use ($request) { $query->where('name', 'like', $request->name); }); }); }); }); } dd($users->get());
  15. بخش نمایش دکمه ها مربوط به جیکوئری هست و ارتباطی با لاراول نداره ولی باید توی قسمتی که response مناطق رو دریافت میکنید status رو هم دریافت کنید و براساس او از متدهای show و hide توی جیکوئری میتونید استفاده کنید مثلا دو تا دکمه دارید که پیشفرض مخفی هستن و نمایش داده نمیشن وقتی response مناطق رو دریافت کردید اگه از قبل فعال بودن دکمه غیرفعال رو نمایش میدید یه چیزی شبیه کد زیر: <button type="submit" style="display: none" id="enable_region" onclick="manage_region_status(1)">فعال</button> <button type="submit" style="display: none" id="disable_region" onclick="manage_region_status(0)">غیرفعال</button> <script> $('#city-dropdown').on('change', function () { var idCity = this.value; $("#region-dropdown").html(''); $.ajax({ url: "{{url('admin/locations/fetch-regions')}}", type: "POST", data: { city_id: idCity, _token: '{{csrf_token()}}' }, dataType: 'json', success: function (res) { $('#region-dropdown').html('<option value="all">تمام مناطق</option>'); // اینجا وضعیت رو چک میکنید و براساس اون دکمه مورد نظر رو نمایش میدید if(res.status) { $('#enable_region').hide(); $('#disable_region').show(); }else{ $('#enable_region').show(); $('#disable_region').hide(); } } }) }) function manage_region_status(status) { // فرم رو اینجا ارسال میکنید } </script> در مورد کنترلر هم متوجه کارتون نشدم توی متد submitLocation در شرط اول مناطق رو غیرفعال کردید و در صورتی که شرط برقرار نیست با جدول کاربران sync کردید که این دو تا کار باهم همخوانی ندارن
×
×
  • جدید...