راکت

به هم خوردن ساعت فیلد created-at هنگام فراخوانی دیتا ها

4 پاسخ

سلام. در قدم اول من timezone پروژه رو به Asia/Tehran تغییر دادم. خوب تا اینجا همچی درسته یعنی هنگام افزودن دیتا جدید ساعت مطابق با ساعت ایران ذخیره میشه. خوب مشکل وقتی پیش میاد که بخای دیتا هارو واکشی و سپس تبدیل به جی سون کنی، اون موقع ساعت به هم میخوره و مطابق با ساعت ایران نیست. جالبه وقتی دیتا هارو با dd() نمایش میدم ساعت دقیقا مثل ساعت ذخیره شده تو دیتابیس هست. نمیدونم مشکل کجاست

ثبت پرسش جدید

پاسخ‌ها

4
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

فقط موقع تبدیل اطلاعات به JSON دچار این قضیه میشید؟ مثلا اگر همون اطلاعات رو به view پاس بدید و اونجا نمایش بدید درست هست؟

کدهاتون رو هم اگر قرار بدید راحت تر میشه کمک کرد...

احمد
احمد
@ahmad316948

@mhyeganeh
من پروژه رو آنلاین کردم . این لینک api دیتا ها هست که بصورت جی سون خروجی میده:
http://caffeinet.romangp.ir/api/v1/notifses

اینم وضعیت اطلاعات در mysql

سورس :

 public function allNotif() {
        $notifs = Notif::all();

       // dd($notifs);

        return response()->json($notifs);
    }

شاید پاسخ شما همین‌جا باشد

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

این مشکل رو فقط در نسخه آنلاین دارید یا در نسخه لوکال هم به همین صورت هست؟
مطمئن بشید که مقدار timezone رو در فایل config/app.php به درستی روی Asia/Tehran تنظیم کرده اید و همچنین اینکه یکبار دستور پاکسازی کش کانفیگ رو اجرا کنید:

php artisan config:clear
احمد
احمد
@ahmad316948

@mhyeganeh
سلام این مشکل هم در نسخه آنلاین هست و همم گلوبال.
من php artisan config:clear رو هم اجرا کردم ولی اوکی نشد.

این خروجی دیتا ها ببا متد dd() هست :

Illuminate\Database\Eloquent\Collection {#1224 ▼
  #items: array:1 [▼
    0 => App\Notif {#1225 ▼
      #fillable: array:3 [▶]
      #connection: "mysql"
      #table: "notifs"
      #primaryKey: "id"
      #keyType: "int"
      +incrementing: true
      #with: []
      #withCount: []
      #perPage: 15
      +exists: true
      +wasRecentlyCreated: false
      #attributes: array:6 [▶]
      #original: array:6 [▼
        "id" => 1
        "title" => "اعلان شماره 1"
        "description" => "توضیحات اعلان 1"
        "link" => "http://caffeinet.romangp.ir/v1/update"
        "created_at" => "2021-09-28 12:22:08"
        "updated_at" => "2021-09-28 12:22:08"
      ]
      #changes: []
      #casts: []
      #classCastCache: []
      #dates: []
      #dateFormat: null
      #appends: []
      #dispatchesEvents: []
      #observables: []
      #relations: []
      #touches: []
      +timestamps: true
      #hidden: []
      #visible: []
      #guarded: array:1 [▶]
    }
  ]
}

و اینم خروجی دیتا بصورت جی سون هست:

[
    {
        "id": 1,
        "title": "اعلان شماره 1",
        "description": "توضیحات اعلان 1",
        "link": "http://caffeinet.romangp.ir/v1/update",
        "created_at": "2021-09-28T08:52:08.000000Z",
        "updated_at": "2021-09-28T08:52:08.000000Z"
    }
]

عجیبه ساعت تو خروجی اولی (متد dd() ) درسته ولی تو خروجی دوم اشتباهه.
اینم سورس:

// متد dd()
 public function allNotif() {
        $notifs = Notif::all();

        dd($notifs);

       // return response()->json($notifs);
    }

// جی سون

  public function allNotif() {
        $notifs = Notif::all();

       // dd($notifs);

        return response()->json($notifs);
    }

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

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