ARON
5 سال پیش توسط ARON مطرح شد
4 پاسخ

سیستم لایک

من برای گالریم لایک قراردادم
اسم مدلم gallery که طبیعتا اسم جدولش میشه galleries
یه مدل دارم با نام Like و جدولش likes

            $table->bigIncrements('id');
            $table->integer('gallery_id');
            $table->integer('user_id')->default(0);
            $table->boolean('like');
            $table->timestamps();

با متد sync میخواستم لایک اضافه کنم

       $gallery = Gallery::find($request->gallery_id);
        $gallery->likes()->sync($request->all());

وقتی میخوام برای درج لایک تو دیتابیس از sync استفاده کنم ارور میده

Base table or view not found: 1146 Table 'test.gallery_like' doesn't exist (SQL: select * from gallery_like where gallery_id = 9)"


ثبت پرسش جدید
سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش آپدیت شد
0

شما به این قسمت کوئری دقت کنید، ایا شما تیبل به نام gallery_like دارید؟!

SQL: select  from gallery_like where gallery_id = 9

coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 5 سال پیش مطرح شد
0

شما از رابطه belongsToMany اگه استفاده میکنید باید جدول واسطش رو هم بسازید،
از رابطه چند به چند استفاده کردید دیگه؟


yuwdsacasoicsd
تخصص : برنامه نویس
@wenom 5 سال پیش مطرح شد
0

دوست عزیز شاید این لینک کمک تون بکنه.
سیستم لایک در لارول و گیت هاب : https://github.com/mydnic/Laravel-Like-System-Example


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

@smpakdel

درود
بنده پکیجی نوشتم که با بهره گیری از Polymorphism میشه قابلیت Like کردن رو ، به هر مدل الکوئنت که خواستید اضافه کنید.

مراحل نصب و استفاده از پکیج در ریپازیتوری گیت هاب موجوده:
https://github.com/AliBayat/Laravel-Likeable


با استفاده از این پکیج به عملکرد های زیر دسترسی خواهید داشت:
بطور مثال برای مدل Post:

$post->like(); // like the post for current user
$post->like($userId); // pass in the user id
$post->like(0); // just adding likes to the count, and don't track any user

$post->unlike(); // remove like from the post
$post->unlike($userId); // pass in the user id
$post->unlike(0); // remove likes from the count -- does not check for user

$post->likeCount; // get Total count of likes

$post->likes; // Collection (Illuminate\Database\Eloquent\Collection) of existing likes 

$post->liked(); // check if currently logged in user liked the post
$post->liked($userId); // pass in the user id

Post::likedBy($userId) // find only posts where user liked them
    ->with('likeCounter') // with eager loading
    ->get();

تنها کافیه از Trait پکیج در مدل موردنظر استفاده کنید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام