@khanzadimahdi
با سلام
یک سوال من چند رکورد تکراری در دیتابیسم پیدا کردم میخواهم بگم که برو یکی از رکوردهای تکراری رو نگهدار و بقیه رو پاک کن چیکار باید انجام بدم اگه در لاراول هم چیزی وجود داره بگید
ممنون
سلام به صورت زیر اول مثلا بر حسب یه فیلد رکورد های تکراری رو بگیرید
$duplicateRecords = DB::select('name')
->selectRaw('count(`name`) as `occurences`')
->from('users')
->groupBy('name')
->having('occurences', '>', 1)
->get();
بعدش حذف کنید تکراری ها رو
foreach($duplicateRecords as $record) {
$record->delete();
}
@khanzadimahdi
مرسی
فقط این که من میخواهم یکی از موارد تکراری رو نگه داره و بقیه رو پاک کنه این کد اون یدونه رکورد رو نگه نمیداره درسته
درود
فرض کنید توی جدول Users چندیدن کاربر دارید که اسمشون "ali" هست
اگر میخواهید ۱ دونه رو نگه دارید ابتدا اولین کاربر (اونی رو که میخواهید نگه دارید) رو در یه متغیر قرار بدید
$dontDelete = App\User::where('name', 'ali')->first();
بعد با الکوئنت به راحتی تمام موارد به جز متغییر بالا رو حذف میکنیم
App\User::where('name', 'ali')
->where('id', '!=', $dontDelete->id)
->delete();
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟