۳ M
خطا در حذف
جامعه پی اچ پی ایجاد شده در ۲۹ فروردین ۱۴۰۲

سلام وقت بخیر.

استاد من وقتی تست رو ران میکنم ارور 500 بهم میده و چیزی حذف نمیشه و تست پاس نمیشه.

همه موارد طبق ویدیو رفتم جلو ولی باز نشد.

پروژه رو داخل گیت گذاشتم جهت برسی.

https://github.com/MrMohammad81/Azmoon_Saz

درواقع مشکل از این متده

public function delete(int $id)
{
    $users = json_decode(file_get_contents('users.json') , true);
    foreach ($users as $key => $user)
    {
        if ($user['id'] == $id)
        {
            unset($users[$key]);
            if (file_exists('users.json'))
            {
                unlink('users.json');
            }
            file_put_contents('user.json' , json_encode($users));
            break;
        }
    }
}

سلام محمدحسین عزیز

این مشکل احتمالا به دلیل تلفیق دو نوع فایل با نام‌های مختلف است. در اینجا، شما در ابتدا از "users.json" برای خواندن اطلاعات کاربر استفاده می‌کنید، اما در ادامه فایل با نام "user.json" را برای نوشتن داده‌ها استفاده می‌کنید. بنابراین، هنگامی که شما در متد delete تلاش می‌کنید برای حذف یک کاربر و نوشتن اطلاعات به فایل، شما فایلی را با نام اشتباه انتخاب کرده اید.

برای رفع مشکل، لطفاً نام فایل را در متد delete از "user.json" به "users.json" تغییر دهید.

احمدرضا فاطمی کیا ۲۹ فروردین ۱۴۰۲، ۱۵:۲۵

ببخشید متوجه نمیشم.

من فقط یک فایل برای ذخیره json دارم.

به این صورت

d8c1-SharedScreenshot.jpg

M ۲۹ فروردین ۱۴۰۲، ۱۹:۴۶

محمدحسین عزیز

بعد از رفع باگی که در پاسخ قبلی گفتم:

در کنترلرتون متد دیلیت،زمانی که userRepository رو صدا و متد دیلیت رو اجرا میکنید باید آیدی ای که از ریکوئست میاد رو بهش پاس بدید:

$this->userRepository->delete($request->id)


احمدرضا فاطمی کیا ۳۱ فروردین ۱۴۰۲، ۰۹:۲۶