خطای بیمورد

محسن شرفی
12 شهريور ۱۴۰۰
Attempt to read property on null به عکس ها نگا کنید مشتهده میکنید ک در جدول user اطلاعتی وارد کردم ولی خطا میده چرا؟
1469

14 پاسخ
  • محسن شرفی 12 شهريور ۱۴۰۰

    اینم از کد هاش

  • مهدی مهری12 شهريور ۱۴۰۰

    من فیلد image رو داخل جدول user تو عکس ندیدم . مطمئنی هست ؟

  • محسن شرفی 12 شهريور ۱۴۰۰

    بله هستش ولی اونطرفه اصلا image ن برای name چرا اون خطا خطا میده؟

  • قاسم بساکی12 شهريور ۱۴۰۰

    سلام خدمت شما دوست عزیز . 

    یک تصویر هم از کدهای کلاس بفرستید که ببینم این $article از کجا اومده

  • قاسم بساکی12 شهريور ۱۴۰۰

    اگر article رو دارید به عنوان پارامتر ورودی این کامپوننت میگیرید ، و مستقیما از دیتابیس دریافتش نمیکنید ، ازش dd() بگیرید ببینید به صورت کالکشن هست یا آرایه؟

  • قاسم بساکی12 شهريور ۱۴۰۰

    اگر آرایه باشه باید اینطوری یوزرش رو صدا بزنید

    $article[user]

    و مطمئن شوید که حاوی user باشد

  • محسن شرفی 12 شهريور ۱۴۰۰

    بفرماعیید استاد

  • قاسم بساکی12 شهريور ۱۴۰۰

    شما توی فانکشن mount بعد از اینکه article رو با توجه به id دریافتی مقدار دهی می کنید ، یک dd ازش بگیرید ببینید دربین فیلدهای اون ، اصلا user وجود داره؟

  • محسن شرفی 12 شهريور ۱۴۰۰

    بله وجود داره 

  • قاسم بساکی12 شهريور ۱۴۰۰

    یعنی الان به همین شکل از dd میگیرید جواب میده؟

    $article->user->image

    توی فانکشن mount؟

    اگر اینطوره توی یک متغیر ذخیرش کنید و توی بلید قرار بدید.

  • محسن شرفی 12 شهريور ۱۴۰۰

    به صورت آرایه برمیگردومه

  • قاسم بساکی12 شهريور ۱۴۰۰

    اگه میشه ی تصویر از dd که میگیرید بدید

    من احساس میکنم هر مشکلی هست اینجاست

    اگه دیتا به درستی دریافت بشه نباید توی صفحه موردی پیش بیاد

  • مهدی مهری13 شهريور ۱۴۰۰

    با اجازه بزرگتر ها

    فیلد wirter_id تو جدول مقاله ها رو تغییرنام بده به user_id (تو آپاچی روی جدول کلیک کن . structure بزن . فیلد رو انتخاب کن . change بزن . اسمشو عوض کن)

    fillable تو مدل مقاله هم تغییر نام بده 

    حالا wirter_id رو دیگه تو تعریف رابطه نیار و بزار حالت پیش فرض خود لاراول شناسایی کنه

    اگه درست کار کرد همینجا بگو 

    من که دلیلشو نفهمیدم . هرکاری کردم با کلید خارجی جواب نگرفتم . امیدوارم استاد محترم آقای بساکی توضیح بده

    مثل اینکه کلید خارجی باید در جدول user باشه

    و اگر در هر دو جدول از کلید دیگر استفاده می کنیم . اسم دو تا فیلد رو تو رابطه میاریم.

    نمیشه یکی از فیلد ها id باشه

  • قاسم بساکی13 شهريور ۱۴۰۰

    سلام خدمت دوستان عزیز 

    به این شکلی که دوستمون نوشتن نام فارنکی رو مشکلی نداره . من خودم به این شکل استفاده کردم. ولی باید توی رابطه تعریف بشه

    مثلا id جدول users باید با کلید خارجی user_id در جدول articles رابطه داشته باشه.

    و اگر از writer_id استفاده شده ، باید هنگام ایجاد رابطه در مدل تعریف بشه. که ظاهرا دوستومون انجام دادن

    از برگشتی تون dd بگیرید ببینید بازگشتی چی دارید