Amir Alsaeed نشر 1 يونيو 2021 أرسل تقرير مشاركة نشر 1 يونيو 2021 أقوم بجلب بيانات لأغراض تحوي نصوص وصور. ولكن عند إضافة أغراض بدون صورة ومحاولة جلبها مع بقية الأغراض يظهر لدي الخطأ التالي: Trying to access array offset on value of type null وهذا هو الكود الذي أقوم من خلاله بالحصول على الصورة: $image=$user->images->first(); كيف يمكنني تلافي هذه المشكلة عند عدم وجود صور؟ 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 محمد أبو عواد نشر 1 يونيو 2021 أرسل تقرير مشاركة نشر 1 يونيو 2021 يمكنك تعريف متغير في بداية الميثود $image="" ثم نفحص اذا يوجد صورة ام لا باستخدم if وبداخل جسم if نقوم باحضار الصورة ونسندها الى المتغير الذي عرفناه في البداية if($user->images){ $image=$user->images->first(); } يمكنك هكذا تجنب المشلكة اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Wael Aljamal نشر 1 يونيو 2021 أرسل تقرير مشاركة نشر 1 يونيو 2021 يمكن في PHP من الإصدار الثامن استخدام Null safe operator وهو إشارة الاستفهام للتأكد من أن قيمة الغرض ليست Null في استدعاء دوال عليه مثل: $image=$user?->images?->first(); ^ ^ هذا يمنع حدوث مشاكل في حال كان أحد العناصر Null. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 سمير عبود نشر 1 يونيو 2021 أرسل تقرير مشاركة نشر 1 يونيو 2021 الخطأ الذي أدرجته لا يُسببه هذا السطر: $image=$user->images->first(); فحتى لو لم يكن للمُستخدم أية صورة سيُرجع السطر أعلاه null. أي أن المُتغير image سيحوي null. ما يعني أنك إن أردت الوصول إلى أحد خصائص الغرض image بالشكل التالي: $image['path'] سيُعطي الخطأ المُدرج في السؤال: Trying to access array offset on value of type null أما إن أردت الوصول للخاصية بإعتبار image كائن بهذا الشكل مثلاً: $image->path; سيُعطي الخطأ التالي: Trying to get property 'path' of non-object و في هذه الحالة يُمكنك إستخدام عامل التحقق من القيمة الفارغة Null Coalescing Operator بهذا الشكل مثلاً: $image['path'] ?? "default image path" و هكذا إن كانت هناك صورة سيتم إرجاع مسارها أما إن لم يكن هنالك صورة سيتم إرجاع مسار الصورة الإفتراضية و هذا فقط مثال للتوضيح. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Amir Alsaeed
أقوم بجلب بيانات لأغراض تحوي نصوص وصور. ولكن عند إضافة أغراض بدون صورة ومحاولة جلبها مع بقية الأغراض يظهر لدي الخطأ التالي:
Trying to access array offset on value of type null
وهذا هو الكود الذي أقوم من خلاله بالحصول على الصورة:
$image=$user->images->first();
كيف يمكنني تلافي هذه المشكلة عند عدم وجود صور؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.