سلام وقت بخیر
من میخام کاربران مورد علاقه به سایت اضافه کنم باید از روش morph استفاده کرد درسته ؟
من هرچی سرچ زدم لایک و علاقه مندی برای پست و مقالات بود
من میخام برای کاربران باشه یعنی از بین کاربران اونایی که مورد علاقه هستند لایک و دیسلایک اضافه کنم
این لینک هایی که گذاشتم ایا مثل این انجام بدم و جدول post در نظر نگیرم میتونم به جواب برسم یا متفاوت هست ؟
لینک
و این لینک
کارو واسه خودت سخت نکن ، شما میاین یه جدول جدید میسازین ، هر کدوم از کاربر هارو که دوس داشتین میاین ایدیش رو تو اون جدول ذخیره میکنی و هر جاکه دوس داشتی ازشون استفاده کنی
@kowsar
یه جدول ساختم به این شکل
Schema::create('favorites', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->constrained()->cascadeOnDelete();
$table->timestamps();
});
مدل یوزر
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);
}
route
Route::middleware('auth')->post('/profile/favorite/{user}', [IndexController::class, 'store'])->name('favorite');
controller
public function store(User $user)
{
$user->favorites()->toggle(
auth()->user()->id
);
return response(['ok'], 200);
}
blade
<span class="single-page__favorite @if($user->is_user_favorite) single-page__favorite--is-active @endif"></span>
script
<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>
css
.single-page__favorite::before {
content: '★';
font-size: 25px;
padding-bottom: 25px;
}
.single-page__favorite--is-active::before {
content: '⭐';
}
به این روش نوشتم ولی تو consol به این خط از جی اس ارور میده
fetch('http://localhost:8000/profile/favorite/2', {
اشکال کارم کجاست؟
شما باید یه جدول بساز ی مثلا Favorite
داخلش یه پراپرتی باشه OwnerUser یه همچین چیزی برای اون کاربری که داری ذخیره میکنی کاربرای مورد علاقشو
بعد یه پراپرتی دیگه باشه که یه لیست از کاربرا میگیره
برای علایقش
@alekasirabolfazl
به این شکل ؟
Schema::create('favorites', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->constrained()->cascadeOnDelete();
$table->string('OwnerUser');
$table->timestamps();
});
@paradox متاسفانه لاراول کار نکردم زیاد با الکوئنت که اصلا ولی اگه توضیح بدی این توابع چیکار میکنه میتونم کمکت کنم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟