تم حلها - محاولة الحصول على خاصية non-object - Laravel

Solved Trying Get Property Non Object Laravel



مشكلة

أحاول ترديد اسم المستخدم في مقالتي وأحصل على ErrorException: Trying to get property of non-object . أكوادي:

عارضات ازياء

1. الأخبار







صف دراسيأخباريمتدنموذج
{
عام وظيفةمنشور من طرف()
{
إرجاع $ هذا->ينتمي إلى('التطبيق المستخدم')؛
}
محمي طاولة $ = 'الإخبارية'؛
محمي قابل للتعبئة = ['محتوى الأخبار'و 'newsTitle'و 'منشور من طرف']؛
}

2. المستخدم



صف دراسيمستخدميمتدنموذجالأدواتعقد قابل للمصادقةو
AuthorizableContractو
CanResetPasswordContract
{
استعمالقابل للمصادقةومصرح بهويمكن إعادة تعيين كلمة المرور؛

محمي طاولة $ = 'المستخدمون'؛

محمي قابل للتعبئة = ['اسم'و 'البريد الإلكتروني'و 'كلمه السر']؛

محمي $ مخفي = ['كلمه السر'و 'Remember_token']؛

}

مراقب

عام وظيفةعرض(سبيكة $)
{
مقال $ =أخبار::أين('سبيكة'و سبيكة $)->FirstOrFail()؛
إرجاععرض('مقالة - سلعة'و المدمج ('مقالة - سلعة'))؛
}

شفرة

{{ مقال $->منشور من طرف->اسم }}

عندما أحاول إزالة الاسم من النصل {{ $article->postedBy }} يقوم بإخراج id ، ولكن عندما أحاول إضافة -> الاسم هناك يقول Trying to get property of non-object لكن لدي اسم حقل في الجدول و User نموذج. هل فاتني شيء؟



حل

هل يقوم الاستعلام الخاص بك بإرجاع مصفوفة أو كائن؟ إذا قمت بإفراغها ، فقد تجد أنها مصفوفة وكل ما تحتاجه هو الوصول إلى المصفوفة ([]) بدلاً من الوصول إلى الكائن (->).





رأي ثاني

مقال $->ملصق->اسم

إلى

مقال $->ملصق['اسم']

التالي هو إضافة معلمة ثانية في انتمائي إلى ، من



إرجاع $ هذا->ينتمي إلى('التطبيق المستخدم')؛

إلى

إرجاع $ هذا->ينتمي إلى('التطبيق المستخدم'و 'معرف المستخدم')؛

فيه user_id هو المفتاح الخارجي الخاص بي في جدول الأخبار.