Mahmoud Alrashidi نشر 11 مارس 2021 أرسل تقرير نشر 11 مارس 2021 استخدم الكود التالي في مشروع لارافيل <?php if ( $post_meta->where('meta_key', 'faq_content') ) { $faq_number = $post_meta->where('meta_key', 'faq_content')->first()->meta_value; } else { $faq_number = 0; } و يحدث الخطأ التالي: Trying to get property 'meta_value' of non-object ما المشكلة في ذلك. 1 اقتباس
1 سمير عبود نشر 11 مارس 2021 أرسل تقرير نشر 11 مارس 2021 السبب في ذلك أن الشرط الذي تستخدمه دائماً مُحقق فأحياناً لا يوجد سجل يُطابق ما تبحث عنه فيُرجع Null و أنت تحاول الوصول للخاصية meta_value من null، الصواب هو ان يكون بهذا الشكل مثلاً: <?php if ( $post_meta->where('meta_key', 'faq_content')->exists() ) { $faq_number = $post_meta->where('meta_key', 'faq_content')->first()->meta_value; } else { $faq_number = 0; } أو بهذا الشكل أحسن: <?php if ( $something = $post_meta->where('meta_key', 'faq_content')->first() ) { $faq_number = $something->meta_value; } else { $faq_number = 0; } أو تبسيط الشرط و إستخدام مُعامل الإندماج الفارغ ( Null coalescing operator): $faq_number = $post_meta->where('meta_key', 'faq_content')->first()->meta_value ?? 0; 1 اقتباس
السؤال
Mahmoud Alrashidi
استخدم الكود التالي في مشروع لارافيل
و يحدث الخطأ التالي:
Trying to get property 'meta_value' of non-object
ما المشكلة في ذلك.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.