من یه توضیح کلی براتون مینویسم بررسی کنید و از روی اون پیاده سازی کنید. اگه فقط برای model کاربران میخواید اینکار انجام بشه ساده ترین روش این هست که یه جدول مثلا به اسم favorites بسازید با مایگریشن زیر
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'));
});
بعد برای اضافه کردن به لیست و حذف یه کاربر از لیست میتونید متدهای زیر رو بنویسید من اینها رو با api نوشته بودم شما میتونید بدون api هم بنویسید
// add user to favorite list
public function add(Request $request)
{
$favorite_user_id = $request->get('user_id'); // شناسه کاربری هست که کاربر لاگین شده در سایت آنرا در لیست مورد دلخواه قرار میدهد
$favorite = Favorite::create([
'user_id' => auth()->user()->id,
'favorite_user_id' => $favorite_user_id,
'added_date' => Carbon::now()
]);
// return your response
}
// delete user from favorite list
public function remove(Request $request)
{
$favorite_user_id = $request->get('user_id'); // شناسه کاربری که میخواهیم از لیست خود حذف کنیم
Favorite::where('user_id',auth()->user()->id)
->where('favorite_user_id',$favorite_user_id)
->delete();
// return your response
}
ولی اگر بخواید به غیر از کاربران موارد دیگه ای رو هم به لیست دلخواه اضافه کنید اینطوری بهتر هست از روشهای دیگه ای مثل پیاده سازی با روابط polymorphic استفاده کنید.