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

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

Paradox

کاربر
  • تعداد ارسال ها

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

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

  • Days Won

    1

تمامی ارسال های Paradox

  1. سلام شب بخیر من اطلاعات استان و شهر و منطقه رو موقع ثبت نام از کاربر میخام که از طریق ایجکس اطلاعات رو از دیتابیس دریافت میکنم که تا اینجا اکیه حالا میخام تو پنل مدیریت بتونم مناطق شهرهارو غیرفعال یا فعال کنم مثلا اگه شهر تهران انتخاب شد بتونم تمام مناطقش رو فعال و غیرفعال کنم برای این چون با ایجکس هست به مشکل خوردم و نتو نستم انجام بدم الان تمام منطقه هارو نمایش میده چجوری دکمه فعال و غیرفعال رو بزارم که تمام مناطق یک شهر رو در بر بگیره؟ دیتابیس منطقه Schema::create('regions', function (Blueprint $table) { $table->id(); $table->string('name'); $table->tinyInteger('status')->default(1); $table->foreignId('city_id')->constrained()->cascadeOnDelete(); $table->timestamps(); }); روت Route::get('/locations' , [AdminController::class , 'showLocation'])->name('locations'); Route::post('/locations/fetch-cities' , [AdminController::class , 'fetchCity']); Route::post('/locations/fetch-regions' , [AdminController::class , 'fetchRegion']); Route::post('/locations' , [AdminController::class , 'submitLocation'])->name('send.locations'); Route::get('locations/status/{location}', [AdminController::class ,'updatestatus'])->name('location.status'); کنترلر public function showLocation() { $provinces = $data['province'] = Province::get(["name", "id"]); // $regions = Region::get(); return view('admin.locations.location' , compact('provinces')); } public function fetchCity(Request $request) { $data['cities'] = City::where("province_id", $request->province_id) ->get(["name", "id"]); return response()->json($data); } public function fetchRegion(Request $request) { $data['regions'] = Region::where("city_id", $request->city_id) ->get(["name", "id"]); return response()->json($data); } public function submitLocation(Request $request , Region $region) { $request->validate([ 'province' => 'required', 'city' => 'required', 'region' => 'required', ]); if (Region::where('city_id', $request->city)->count() > 0) { if ($request->region[0] == 'status') { $region = Region::where('city_id', $request->city)->get(); } else { alert("لطفا یک گزینه را انتخاب کنید"); } } else { return redirect(route('locations')); } return redirect(route('locations')); } public function updatestatus(Region $region) { if ($region->status == 1) { $region->status = 0; } else { $region->status = 1; } $region->save(); alert()->success('به روز رسانی با موفقیت انجام شد' , 'با تشکر'); return redirect(route('regions')); } ایجکس $(document).ready(function () { $('#province-dropdown').on('change', function () { var idProvince = this.value; $("#city-dropdown").html(''); $.ajax({ url: "{{url('admin/locations/fetch-cities')}}", type: "POST", data: { province_id: idProvince, _token: '{{csrf_token()}}' }, dataType: 'json', success: function (result) { $('#city-dropdown').html('<option value=""> انتخاب شهر </option>'); $.each(result.cities, function (key, value) { $("#city-dropdown").append('<option value="' + value .id + '">' + value.name + '</option>'); }); $('#region-dropdown').html('<option value="">انتخاب منطقه</option>'); } }); }); $('#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="status">غیرفعال</option>'); $.each(res.regions, function (key, value) { $("#region-dropdown").append('<option value="' + value .id + '">' + value.name + '</option>'); }); } }); }); });
  2. سلام وقت بخیر من میخام کاربران مورد علاقه به سایت اضافه کنم باید از روش morph استفاده کرد درسته ؟ من هرچی سرچ زدم لایک و علاقه مندی برای پست و مقالات بود من میخام برای کاربران باشه یعنی از بین کاربران اونایی که مورد علاقه هستند لایک و دیسلایک اضافه کنم این لینک هایی که گذاشتم ایا مثل این انجام بدم و جدول post در نظر نگیرم میتونم به جواب برسم یا متفاوت هست ؟ لینک و این لینک
  3. اگه با ایدی کاربر 1 وارد بشم تمام منطقه ها مثلا منطقه 1 نمایش میده و اگر با ایدی کاربر 2 وارد سایت بشم تمام منطقه های کابران رو مثلا منطقه 3 چاپ میکنه که کاربر موقع ثبت نام انتخاب کرد
  4. برای منطقه که به این شکل نوشتم auth()->user()->regions()->first()->name برای تمام کاربران منطقه ست میشه و بر اساس ایدی کاربران نیست
  5. برای نمایش منطقه به این شکل نوشتم تو بلید auth()->user()->regions()->first()->name نمایش میده حالا اگه چند منطقه ای که کاربر انتخاب کرد رو بخوام نمایش بدم چیکار باید کرد ؟ برای نمایش شهر تو این حالت که رابطه چند به چند هست چطوری باید اسم شهر رو چاپ کنم؟ فقط تونستم ایدی شهر رو چاپ کنم {{ auth()->user()->regions()->first()->city_id }}
  6. دو تا فیلد تعریف کردم image video دیفالت رو nullabel گذاشتم حالا هر کدوم خواستم اپلود میکنم فقط نمیدونم تو بلید به چه شکل شرط بزارم @if (اینجا نمیدونم چی بزارم) <img src="{{ $news->image }}" alt="" class="img-fluid"> @else <video width="500" controls preload> <source src="{{ $news->video }}" type="video/mp4"> </video> @endif تو کنترلر به این شکل نوشتم ایراد داره ؟دیتا ثبت شد و اکیه فقط میخام بدونم مشکلی نداشته باشه auth()->user()->news()->create($request->all()); یا به این شکل بنویسم ؟چون ویدئو هم هست نمیدونم به این روش چطوری بنویسم if($request->hasFile('image')) { $file = $request->file('image'); $ext = $file->getClientOriginalExtension(); $file_name = auth()->user()->id . '_' . time() . '.' . $ext; $file->storeAs('/', $file_name, 'files'); $data['image'] = $file_name; } auth()->user()->update($data);
  7. ممنونم اگر برای هر کدوم فیلد جدا بزارم تو بخش کاربری چطور میتونم شرط بزارم اگه عکس بود عکس نمایش بده و اگر ویدئو بود ، ویدئو ؟
  8. سلام من میخام بر اساس mime type اطلاعات فایل تو دیتابیس ثبت کنم که اگر عکس بود عکس اپلود بشه و اگر ویدئو بود ویدئو اپلود بشه به شکل زیر نوشتم $request->validate([ 'name' => 'required', 'slug' => 'unique:counselings', 'status' => '', 'description' => 'required', // 'file' => ['required','mimetypes:video/mp4,image/jpeg,image/png,image/gif,audio/mp3,audio/mpeg'], 'file' =>['mimes:jpeg,png,mp4','mimetypes:image/jpeg,image/png,video/mp4,video/avi,video/mpeg'], ]); if($request->hasFile('file')) { $files = $request->file('file'); $ext = $files->getClientMimeType(); $file_name = auth()->user()->id . '_' . time() . '.' . $ext; $files->storeAs('/', $file_name, 'public'); $data['file'] = $file_name; } اروری که میگیرم file پسوند و نوع فایل باید: jpeg, png, mp۴ باشد file پسوند و نوع فایل باید: image/jpeg, image/png, video/mp۴, video/avi, video/mpeg باشد میخام بعدا تو بلید اگر عکس بود عکس نمایش بده اگر ویدئو بود ویدئو برای کاربر نمایش بده
  9. سلام وقت بخیر موقع ثبت نام کاربر ازش میخام استان و شهر و منطقه وارد کنه که هر کاربر هم بتونه چند منطقه یا یک منطقه رو انتخاب کنه یا بعدا بتونه استان و شهر و منطقه رو تغییر بده که اینکارو انجام دادم فقط نمیدونم درسته یا نه رابطه چند به چند ایجاد کردم حالا میخام بعد از ثبت اطالاعات ، شهر و منطقه کاربر رو تو پروفایلش نمایش بدم برای نمایش منطقه به این شکل کوئری زدم که dd گرفتم درست نمایش میده $regions = auth()->user()->regions()->first(); حالا نمیدونم چطوری تو بلید خروجی بگیرم که اسم منطقه ها یا یک منطقه رو نمایش بده {{ auth()->user()->region_id }} اینجوری که چیزی نشون نمیده و اینکه میخام شهر رو هم نمایش بدم تو پروفایل ولی نمیدونم به چه صورت اینکارو انجام بدم چون رابطه چند به چند بود چطوری میتونم مشخص کنم که هر کابر چه شهری انتخاب کرده ؟ به این شکل مینویسم که اصلا city_id پیدا نمیکنه $cities = City::find($user->regions->city_id); مدل استان public function cities() { return $this->hasMany(City::class); } مدل شهر public function provinces() { return $this->belongsToMany(Province::class); } public function regions() { return $this->hasMany(Region::class); } مدل منطقه public function City() { return $this->belongsToMany(City::class); } public function users() { return $this->belongsToMany(User::class); } مدل یوزر public function regions() { return $this->belongsToMany(Region::class); }
  10. مشکلم حل شد ممنون
  11. سلام من موفق نمیشم ip ثبت کنم تو دیتابیس تو fiilable هم گذاشتم نمیدونم مشکل کجاست function authenticated(Request $request, $user) { $user->update([ 'last_login_at' => Carbon::now()->toDateTimeString(), 'last_login_ip' => $request->ip(), ]); return $this->loggendin($request , $user); }
  12. سلام شب بخیر من میخام یه بخش از سایتم که مثلا مربوط به خبر هست و فیلدهای جدولم شامل title description file حالا میخام تو پنل ادمین اگه عکس آپلود کردم تو بلید عکس نمایش بده اگه ویدئو آپلود کردم تو بلید ویدئو نمایش بده برای این باید از mime type استفاده کرد؟ به چه شکل باید استفاده کنم؟ باید فیلد جدید بزارم تو دیتابیس برای type ؟؟ یا راه حل دیگه ای اگه هست ممنون میشم راهنمایی کنید چطوری میتونم تو پنل یا تو بلیدی که کاربر میبینه کاری کنم اگه ویدئو آپلود کردم نمایش بده یا اگه عکس اپلود کردم عکس نمایش بده
  13. لطفا راهنمایی کنید چیکار کنم
  14. تو مدل user به این شکل نوشتم public function isCompleted() { return $this->register_at == 1; } این روش هم درسته؟ و اینکه روت rule دیگه نباید میدلور auth براش بزارم درسته ؟
  15. @saber تو مطلب قبلی فرمودید مقدار register_at برابر با تایم استمپ به این شکل منظورتونه؟ Auth::user()->register_at = \Carbon\Carbon::now(); من اینو کجا باید بزارم ؟ و چک کنم؟
  16. سلام وقت بخیر من میخام ثبت نام چندمرحله ای داشته باشم به این صورت که اول کاربر با شماره موبایل ثبت نام میکنه و احراز هویت میشه که تا اینجا اکیه و هدایت میشه به صفحه home بعدش میخام یک سری فیلد دیگه رو پر کنه اگه اطلاعات کامل پر شد کاربر بتونه روت home رو ببینه یه فیلد تو دیتابیس به این شکل ایجاد کردم $table->boolean('register_at')->nullable()->default(0); یک میدلور هم ایجاد کردم میخام اگه اطلاعات تکمیل شد کاربر روت home ببینه اگر نشد هدایت بشه به روت rule و اطلاعات رو به ترتیب پر کنه public function handle(Request $request, Closure $next) { if($request->user()->isCompleted()) { return $next($request); } return redirect('/rule'); } تو مدل user هم به این شکل نوشتم اینجا چطوری باید چک کنم کاربر اطلاعاتش تکمیل شد؟ public function isCompleted() { return $this->is_completed; }
  17. دیدم اونو ولی متوجه نمیشم
  18. سلام شب بخیر من میخام فراموشی رمز عبور با شماره موبایل انجام بدم اموزشی هست که بتونم طبق اون پیش برم ؟ به جای اینکه لینک ایمیل بشه میخام به شماره موبایل کاربر ارسال بشه یا روشی اگه هست ممنون میشم راهنمایی کنید
  19. مشکل رفع شد مشکل از روت هام بود براش اشتباهی میدلور guest برای روت home تعریف شده بود و با یه تغییر تو کنترلر مشکل رفع شد ممنونم از راهنمایی های شما خیلی خیلی لطف کردید
  20. این تیکه کد گذاشتم تو مدل user public function scopeVerifyCode($query , $code, $user) { return !! $user->activeCode()->whereCode($code)->where('expired_at' , '>' , now())->first(); } و کنترلر هم به این شکل $status = ActiveCode::verifyCode($request->token , $user); اروری که دریافت کردم Call to undefined method App\Models\ActiveCode::verifyCode() دقیقا به همون لاین وریفای کد تو کنترلر ارور داده
  21. کنترلر به این شکل نوشتم و متد اسکوپ کامنت کردم بازهم برمیگرده به روتی که کد وریفای باید وارد بشه public function token(Request $request , User $user) { $request->validate([ 'token' => 'required' ]); $count = $user->activeCode()->whereCode($request->token)->where('expired_at' , '>' , now())->count(); if(! $count) { return redirect(route('phone.token')); } auth()->loginUsingId($user->id,$request->get('auth.remember')); $user->activeCode()->delete(); return redirect('/home'); }
  22. من تو کنترلر به این شکل تغییر دادم این درسته یا این هم اشتباهه؟ $status = ActiveCode::verifyCode($request->token , $user); چون دوباره برمیگرده به صفحه وریفای کد تو متد اسکوپ نمیدونم چطوری باید بنویسم
  23. ممنون از راهنماییتون مهندس لطف کردید پس بهتره خودمون بنویسیم روت هارو بله الان از متد اسکوپ ارور گرفته Call to a member function activeCode() on null ورودی به چه صورت باید بنویسم public function scopeVerifyCode($query , $code, $user) { return !! $user->activeCode()->whereCode($code)->where('expired_at' , '>' , now())->first(); } مدل یوزر که نباید باشه درسته؟چون ارور دریافت کردم وقتی مدل پاس دادم
  24. من موفق نشدم انجام بدم کد براتون ارسال کردم تو پیام خصوصی انجمن تو تلگرام هم فرستادم
×
×
  • جدید...