Paradox
کاربر-
تعداد ارسال ها
112 -
تاریخ عضویت
-
آخرین بازدید
-
Days Won
1
تمامی ارسال های Paradox
-
سلام وقت بخیر من میخام هر کاربر موقع ثبت نام یک کد دعوت اختصاصی داشته باشه که اگه هر شخصی از کد دعوت استفاده کرد مثلا 30 درصد تخفیف موقع خرید بهش اضافه بشه و همینطور تو پروفایلش تعداد افرادی که کد دعوت استفاده کردن و تخفیفی که تعلق گرفت رو بشه نمایش داد تو جدول users یه فیلد اضافه کردم به این اسم $table->unsignedInteger('invite_code')->unique(); و به این شکل نوشتم $user = User::create([ 'phone' => $data['phone'], 'password' => Hash::make($data['password']), 'reagent_code' => ['nullable' , 'max:255' , 'min:3'], 'invite_code' => mt_rand(100000, 999999), ]); کد ایجاد شد ایا این کار اشتباهه ؟ آیا نیازه یه جدول دیگه ایجاد کرد ؟ من یه فیلد هم دارم به این اسم $table->string('reagent_code')->nullable(); که کاربر موقع ثبت نام کد دعوت مورد نظر رو اینجا وارد کنه بر اساس این فیلد باید تعداد دفعات رو نمایش بدم ؟و درصد رو اعمال کنم؟
-
فیلتر جستجو
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
اینجا کل کاربران رو نمایش میده و دیگه فیلتری انجام نمیشه ولی وقتی dd میگیرم اطلاعات کاربری که فیلتر کردم رو نشون میده چرا -
مشکل در غیرفعال کردن آیتم
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
الان به این شکل که نوشتم برای نمایش دکمه ها if(res.status) { $('#enable_region').hide(); $('#disable_region').show(); }else{ $('#enable_region').show(); $('#disable_region').hide(); } چه مناطق فعال باشه چه غیرفعال دکمه فعال رو نمایش میده بعد از انتخاب منطقه این متد برای نمایش منطقه مشکلی نداره ؟ public function fetchRegion(Request $request) { $data['regions'] = Region::where("city_id", $request->city_id)->get(); return response()->json($data); } -
مشکل در غیرفعال کردن آیتم
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
پس الان فعال یا غیرفعال بودن status رو دیگه نباید با لاراول ارسال کنم درسته ؟ با جیکوئری انجام بدم ؟ یعنی اون متد submitLocation رو نیازی بهش نیست ؟ توسط این متد manage_region_status باید status رو با جیکوئری صفر یا یک کنم ؟ من قبلا به این شکل انجام میدادم تو لاراول if ($region->status == 1) { $region->status = 0; } else { $region->status = 1; } $region->save(); تو جیکوئری نمیدونم به چه شکل میشه اینکارو کرد -
فیلتر جستجو
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
به این شکل که نوشتم وقتی dd میگیرم کل مشخصات کاربری که فیلتر کردم میاره ولی در حالت عادی هیچ کاربری رو نمایش نمیده $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('cities', function ($query) use ($request) { $query->where('name', 'like', $request->name); }); }); } // dd($users->get()); -
مشکل در غیرفعال کردن آیتم
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
بله تو ایجکس مشکلم اینه چطوری دکمه فعال و غیرفعال status رو نمایش بدم و روش کلیک شد قابلیت فعال و غیرفعال اعمال بشه الان تو کنترلر هم باید تغییری اعمال بشه پس ؟ این چیزی که نوشتم اشتباهه؟ -
فیلتر جستجو
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
بله دقیقا منظورم همینه -
فیلتر جستجو
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
تو همین بخش جستجو ساده بر اسا اسم کاربر انجام میدم تا قبل اضافه کردن کدهای بالا کار میکرد ولی الان برای جستو ساده ارور زیر رو دارم Call to undefined method App\Models\User::cities() چطوری توی روابط چند به چند میتونم این مشکل رو حل کنم ؟ وقتی کدهای مربوط به فیلتر رو کامنت میکنم درسته و مشکلی نداره این بخش -
سلام وقت بخیر من میخام جستجو بر اساس فیلتر ایجاد کنم برای دو جدول کابران و جدول شهر ( که اینجا از روش چند به چند استفاده کردم و تو جدول منطقه user_id قرار داره اینجا مشکلی برای جستجو وجود نداره؟) برای جدول کاربران فیلدهایی که میخام فیلتر بشه از enum استفاده کردم (3 تا مقدار اول enum هستن ) اینجا به چه شکل باید تعریف کنم؟ تو این حالت فقط تو url نمایش میده و کاربر رو پیدا نمیکنه $user_query = User::query(); $city_query = City::query(); if($keyword = $request->get('search')){ $user_query->where('age_difference' , '=' , "{$keyword}")->where('time' , '=' , "{$keyword}")->where('disability' , '=' , "{$keyword}")->orWhereHas('cities' , function ($query) use ($keyword){ $query->where('name', 'like', "%{$keyword}%")->get(); }); }
-
سلام وقت بخیر من میخام یه بخش تو پنل مدیریت ، قابلیت فعال و غیرفعال کردن منطقه ها رو اضافه کنم از طریق ایجکس استان و شهر و منطقه رو نمایش میدم حالا میخام اگه مثلا شهر تهران انتخاب شد تمام منطقه های مربوط به شهر تهران رو تو دیتابیس غیرفعال کنم یا بالعکس اگه غیرفعال هست بتونم فعال کنم ( میخوام یکجا تمام مناطق باهم فعال و غیرفعال بشن) نمیدونم از طریق ایجکس انجام بدم یا تو کنترلر این بخش گیر کردم برای اینکار یه فیلد به جدول منطقه اضافه کردم $table->tinyInteger('status')->default(1); حالا میخام بگم وقتی استان و شهر انتخاب شد دکمه فعال و غیرفعال سازی منطقه باشه مثل عکس زیر روت ها 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 fetchRegion(Request $request) { // $data['regions'] = Region::where("city_id", $request->city_id) // ->get(); $data['regions'] = Region::where("city_id", $request->city_id)->whereStatus(1) ->get(); return response()->json($data); } public function submitLocation(Request $request , Region $region) { $request->validate([ 'province' => 'required', 'city' => 'required', 'region' => '', 'status' => '' ]); if (Region::where('city_id', $request->city)->count() > 0) { if ($request->region[0] == 'all') { $region = Region::where('city_id', $request->city)->get(); // auth()->user()->regions()->sync($region); $region = Region::updated([ 'status' => 0 ]); } else { $region = Region::findOrFail($request->region); auth()->user()->regions()->sync($region); } } else { return redirect(route('locations')); } return redirect(route('locations')); } فرم بلید <form method="POST" action="{{ route('send.locations') }}"> @csrf <div class="form-group"> <div class="col-8 m-auto mt-3 mb-3"> <select id="province-dropdown" name="province" class="form-select @error('province') is-invalid @enderror"> <option class="d-none">استان</option> @foreach ($provinces as $province) <option value="{{ $province->id }}">{{ $province->name }}</option> @endforeach </select> @error('province') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </div> </div> <div class="form-group"> <div class="col-8 m-auto mt-3 mb-3"> <select id="city-dropdown" name="city" class="form-select @error('city') is-invalid @enderror"> <option class="d-none disabled">شهر</option> </select> @error('city') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </div> </div> <div class="form-group"> <div class="col-8 m-auto mt-3 mb-5"> <select id="region-dropdown" name="region" class="form-select select @error('region') is-invalid @enderror"> <option class="d-none">منطقه</option> </select> @error('region') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </div> </div> <div class="button mt-5 text-center"> <button type="submit" class="btn btn-info">ثبت</button> </div> </form> کدهای ایجکس $(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="all">تمام مناطق</option>');
-
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
خیلی خیلی لطف کردید ممنونم -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
یه فیلد جدید اضافه کردم تو دیتابیس $table->boolean('favorite')->default(0); حالا شرط بر این اساس هم میخام بزارم نتونستم جواب بگیرم تو مدل favorite اضافه کردم public function isFavorite() { return $this->favorite ?? false; } شرط تو بلید @if (Auth::user()->isFavorite) یا این @if (Auth::user()->isFavorite == 1) نتونستم جواب بگیرم -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
اینجا دارم کل کاربران رو نمایش میدم توی لیست بلید ، فورایچی که برای نمایش تمام کاربران سایت زدم برای این روت هم بر اساس ایدی کاربران گفتم لایک انجام بشه اشتباهه مگه ؟ یا من اشتباه متوجه شدم؟ <a href="{{ route('people.favorite' , $user->id ) }}"> <i class="fa fa-star text-black"></i> </a> الان تست گرفتم کار میکنه هم لایک هم انلایک ممنونم و اینکه روت get گذاشتم مشکلی که پیش نمیاد ؟بهتره از post استفاده کنم؟ و اینکه چطوری تو بلید میتونم شرط بزارم که اگه لایک شد ایکون انلایک نشون بده ؟ هر شرطی میزارم فقط یکیش نشون میده @if () <a href="{{ route('people.favorite' , $user->id ) }}"> <i class="fa fa-star text-black"></i> </a> @else <a href="{{ route('people.unFavorite' , $user->id ) }}" > <i class="fa fa-star text-warning"></i> </a> @endif -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
جدول Schema::create('favorites', function (Blueprint $table) { $table->bigIncrements('id'); $table->foreignId('user_id')->constrained()->onDelete('cascade'); $table->foreignId('favorite_user_id')->constrained('users','id')->onDelete('cascade'); $table->timestamp('added_date')->default(DB::raw('CURRENT_TIMESTAMP')); }); مدل favorite public $timestamps = false; protected $fillable = [ 'user_id', 'favorite_user_id', 'added_date' ]; public function user() { return $this->belongsTo(User::class); } مدل user public function favorites() { return $this->hasMany(Favorite::class); } route Route::get('/profile/favorite/{favorite}' , [IndexController::class , 'favorite'])->name('favorite'); Route::get('/profile/unfavorite/{favorite}' , [IndexController::class , 'unFavorite'])->name('unFavorite'); blade <a href="{{ route('favorite' , $user->id ) }}"> <i class="fa fa-star text-black"></i> </a> <a href="{{ route('unFavorite' , $user->id ) }}" > <i class="fa fa-star text-warning"></i> </a> controller public function favorite($favorite) { // $favorite_user_id = Favorite::find($user); // dd($favorite_user_id); // Favorite::create([ // 'favorite' => 1 , // 'user_id' => $user->id, // 'favorite_user_id' => $favorite_user_id, // ]); $favorite_user_id = Favorite::find($favorite); Favorite::create([ 'user_id' => auth()->user()->id, 'favorite_user_id' => $favorite_user_id, 'added_date' => Carbon::now() ]); // dd($favorite); return back(); } public function unFavorite($favorite) { // $favorite = Favorite::where('user_id' , $favorite->id)->first(); // $favorite->delete(); $favorite_user_id = Favorite::find($favorite); Favorite::where('user_id',auth()->user()->id) ->where('favorite_user_id',$favorite_user_id) ->delete(); return back(); } الان مشکل اینه وقتی روی دکمه مورد علاقه میزنم ارور زیر دارم SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'favorite_user_id' cannot be null INSERT INTO `favorites` (`user_id`, `favorite_user_id`, `added_date`) VALUES (5, ?, 2023 -02 -01 14: 08: 35) -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
چطوری باید ایدی کاربری که لایک کرد رو ثبت کنم ؟اصلا ایدی که به روت میدم پیدا نمیکنه -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
ممنون مهندس بله من میخام فقط برای کاربران باشه این چیزی که قرار دادید رو گذاشتم یه ارور دارم SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'favorite_user_id' cannot be null شما از api استفاده کردید به این شکل نوشتید ؟من باید به یه شکل دیگه بنویسم تا این ارور نده ؟ -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
این شکلی درسته ؟ برای ایدی خودم فقط حذف کار میکنه public function favorite(User $favorite) { Favorite::create([ 'favorite' => 1 , 'user_id' => $favorite->id, ]); return back(); } public function unFavorite(Request $request , User $favorite) { $favorite = Favorite::where('user_id' , $favorite->id)->first(); $favorite->delete(); return back(); } -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
مشکل unfavorite حل کردم فقط نمیدونم تو این متد به چه شکل بنویسم که فقط برای ایدی خودم ایکون تغییر نکنه و برای همه کاربران اعمال بشه is_favorite_by_auth_user -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
یکم تغییر دادم جدول رو به این شکل نوشتم $table->foreignId('user_id')->constrained()->cascadeOnDelete(); $table->boolean('favorite')->default(0); تو کنترلر به این شکل نوشتم مشکلی که دارم وقتی روی دکمه favorite کاربر مثلا ایدی 2 میزنم تو دیتابیس ثبت میشه ولی تو ظاهر بلید تغییری نمیکنه ولی وقتی روی دکمه favorite ایدی که خودم لاگین کردم میزنم هم تو دیتابیس ثبت میشه هم تو بلید ظاهرش تغییر میکنه public function favorite(User $favorite) { Favorite::create([ 'favorite' => 1 , 'user_id' => $favorite->id, ]); return back(); } public function unFavorite(Request $request , User $favorite) { $deletd = Favorite::where('id', auth()->user()->id)->where('user_id' , $favorite->id)->update([ 'favorite' => 0 ]); // $favorite = Favorite::where('id' , $favorite->id)->where('user_id' , $favorite->id)->first(); // $favorite->delete(); return back(); } -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
مهندس اینجا تو این تابع به چه شکل بنویسم دقیقا ؟ متاسفانه نتونستم حلش کنم public function is_favorite_by_auth_user() { $id = Auth::id(); $favorites = array(); foreach($this->favorites as $favorite): array_push($favorites , $favorite->user_id); endforeach; if(in_array($id , $favorites)) { return true; } else { return false; } -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
بله جیکوئری لود شده این لاین به این شکل باید باشه ؟ public function getIsUserFavoritesAttribute(User $user) { return $this->favorites()->where('user_id', $user->id)->exists(); } -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
ممنون مهندس برای این روش که با ایجکس هست مشکل کارم کجاست؟ -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
به یه روش دیگه هم انجام دادم از طریق ایجکس ولی جواب نگرفتم کنترلر public function store(User $user) { $user->favorites()->toggle( auth()->user()->id ); return response(['ok'], 200); } روت Route::middleware('auth')->post('/profile/favorite/{user}', [IndexController::class, 'store'])->name('favorite'); بلید <span class="single-page__favorite @if($user->is_user_favorite) single-page__favorite--is-active @endif"></span> اسکریپت <script> $(".single-page__favorite").on("click", function () { fetch('{{ route("favorite", $user->id) }}', { method: 'post', headers: { 'X-CSRF-Token': '{{ csrf_token() }}' } }).then((response) => { if(response.ok) { $(this).toggleClass("single-page__favorite--is-active"); } }) }) </script> سی اس اس .single-page__favorite::before { content: '★'; font-size: 25px; padding-bottom: 25px; } .single-page__favorite--is-active::before { content: ''; } مدل یوزر public function favorites() { return $this->hasMany(Favorite::class); } public function getIsUserFavoritesAttribute() { return $this->favorites()->where('user_id', auth()->user()->id)->exists(); } مدل favorite protected $fillable = [ 'user_id', ]; public function user() { return $this->belongsTo(User::class); } اشکال کارم کجاست؟ تو consol به این خط از جی اس ارور میده fetch('http://localhost:8000/profile/favorite/2', { -
مشکل استاتوس در پنل مدیریت
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
الان من تو جدول منطقه فیلد ststus گذاشتم به این شکل میشه فعال و غیرفعال کرد ؟ که مثلا استان تو پنل مدیریتی انتخاب کنم بعد شهر رو از طریق همون ایجکس اطلاعاتش بگیرم و انتخاب کنم بعد انتخاب شهر برای منطقه گزینه فعال و غیرفعال فقط نمایش بده ؟؟ اگه میشه اینجوری لطفا راهنمایی کنید به چه صورت هست ممنون -
ایجاد افراد مورد علاقه
موضوع پاسخی برای Paradox در یک Paradox ارسال کرد در رفع مشکلات و سوالات عمومی لاراول Laravel
به یه روشی انجام دادم ولی جواب درستی نگرفتم هر دفعه که روی دکمه favorite کلیک میکنم فقط برای ایدی خودم هر دفعه تو دیتابیس ثبت میشه و unfavorite که میزنم ارور زیر دارم Call to a member function delete() on null جدول من Schema::create('favorites', function (Blueprint $table) { $table->id(); $table->foreignId('user_id')->constrained()->cascadeOnDelete(); $table->timestamps(); }); مدل favorite class Favorite extends Model { protected $fillable = [ 'user_id', ]; public function user() { return $this->belongsTo(User::class); } } مدل user public function favorites() { return $this->hasMany(Favorite::class); } public function is_favorite_by_auth_user() { $id = Auth::id(); $favorites = array(); foreach($this->favorites as $favorite): array_push($favorites , $favorite->user_id); endforeach; if(in_array($id , $favorites)) { return true; } else { return false; } route Route::get('/profile/favorite/{favorite}' , [IndexController::class , 'favorite'])->name('favorite'); Route::get('/profile/unfavorite/{favorite}' , [IndexController::class , 'unFavorite'])->name('unFavorite'); controller public function favorite(Request $request , User $favorite) { Favorite::create([ 'id' => $favorite->id , 'user_id' => Auth::id() , ]); return back(); } public function unFavorite(User $favorite) { $favorite = Favorite::where('id' , $favorite->id)->where('user_id' , Auth::id())->first(); $favorite->delete(); return back(); } blade @if ($user->is_favorite_by_auth_user()) <a href="{{ route('profile.unFavorite' , $user->id ) }}" > <i class="fa fa-star text-warning"></i> </a> @else <a href="{{ route('profile.favorite' , $user->id ) }}"> <i class="fa fa-star text-black"></i> </a> @endif مشکل کارم تو کنترلره ؟؟ اگه بخوام بدون رفرش شدن صفحه انجام بدم از ajax باید استفاده کنم؟