۱۳ M
ارور در ساخت order
جامعه پی اچ پی ایجاد شده در ۲۵ آذر ۱۴۰۱

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

استاد بعد از اینکه که فیلدهای id , price رو از جدول order برای ذخیره داخل جدول order_item جدا میکنم ، چیزی داخل جدول order_item ریخته نمیشه و خطایی نشون داده نمیشه و فقط صفحه رفرش میشه و عملا کل برنامه متوقف میشه.

حتی کدهای جناب صالحی رو هم کلا کپی کردم باز درست نشد.

جایی که باید مقادیر ریخته بشه رو علامت زدم

b725-Screenshot 2022-12-16 210314.png

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

لطفا مشخصات خطا رو ارسال و یا پروژه رو در گیتهاب آپلود کن تا بررسی بشه.

تصویری که قرار دادید لود نمیشود.

احمدرضا فاطمی کیا ۲۵ آذر ۱۴۰۱، ۱۸:۰۵

خدمت شما

https://github.com/MrMohammad81/GraphicShop

M ۲۶ آذر ۱۴۰۱، ۱۰:۴۵

شما متد orderitems در مدل Order ندارید و نام صحیح orderitem هست .

به این شکل درست هست.

$createdOrder->orderItem()->createMany($orderItemsForCreatedOrder->toArray());
احمدرضا فاطمی کیا ۲۶ آذر ۱۴۰۱، ۱۱:۲۹

اینو اصلاح کردم باز درست نشد متاسفانه

M ۲۶ آذر ۱۴۰۱، ۱۳:۳۷

باید خط به خط دیباگ کنید چون اجرای دستورات توی سیستم شماست.

خط به خط dump بگیرید و نتایج رو بررسی کنید.

ببینید کجا مشکل هست و مقدار برگردونده نمیشه.


احمدرضا فاطمی کیا ۲۶ آذر ۱۴۰۱، ۱۵:۱۸

خط به خط رو هم انجام دادم dd دقیقا تا قبل از همین خط کار میکنه ، بعد از این خط حتی همون dd هم کار نمیکنه و فقط صفحه رفرش میشه

M ۲۶ آذر ۱۴۰۱، ۱۵:۳۵

نتیجه dump:

Orderitemforcreated user و currentproduct رو ارسال کنید.

چون شما اطلاعات رو درون متغیر return کردید و به همین دلیله که رفرش‌های پی در پی انجام میشه

احمدرضا فاطمی کیا ۲۶ آذر ۱۴۰۱، ۱۵:۵۶

نتیجه این دوتا متغیر هم با اینکه returne شده به درستی بر میگرده ، ولی بعد از createOrder هیچی کار نمیکنه

M ۲۶ آذر ۱۴۰۱، ۱۶:۰۱

کدها رو از داخل try catch خارج کنید تا خطاهای نوع دیگر نمایش داده شوند.

شما در catch فقط exception‌ها رو دارید میگیرید.

چندین بار کد رو چک کردم و ظاهرا خطایی ندارید توی کد.

احمدرضا فاطمی کیا ۲۶ آذر ۱۴۰۱، ۱۶:۴۸

حتما??

بهتون اطلاع میدم نتیجشو

M ۲۶ آذر ۱۴۰۱، ۱۶:۵۰

این ارور رو میده

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'graphicshop.order_items' doesn't exist

الان یه خورده گیج شدم. مشکل از کجای order_item هست ؟

M ۲۶ آذر ۱۴۰۱، ۱۸:۳۹

جدول order_items وجود نداره در دیتابیس

احتمالا در نامگذاری مدل و مایگریشن‌ها اشتباه کردید.

که نمیتونه نام رو درست بخونه از دیتابیس

بهترین پاسخ
احمدرضا فاطمی کیا ۲۶ آذر ۱۴۰۱، ۱۹:۵۳

درست شد بالاخره.

مشکل از اسمش داخل mysql بود

M ۲۷ آذر ۱۴۰۱، ۰۹:۳۴