اذهب إلى المحتوى
  • 0

خطأ "Undefined array key" عند استخدام Livewire في نظام إدارة المستشفيات

Hafsa Aly

السؤال

 قمت بعمل open source laravel hospital management system down load  from git 

وقمت بتشغيله  واشتغل تمام ولكن عند دخولي لل  admin panel  ومحاولة عمل اي اضافة او تعديل او حذف  تقنية wire live   لاتتعمل وحاولت كثيرا ولم اصل للحل

هذه رسالة الخطا  Undefined array key "id"hospitalMS.rarhospitalMS.rarhospitalMS.rarhospitalMS.rar

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

رسالة الخطأ تعني أنك تحاول الوصول إلى مفتاح "id" في مصفوفة غير موجودة، وذلك يحدث هذا لعدة أسباب منها:

  • المفتاح "id" غير موجود في المصفوفة التي تحاولين الوصول إليها.
  • المفتاح "id" موجود في المصفوفة، ولكن قيمته فارغة.
  • المفتاح "id" موجود في المصفوفة، ولكن قيمته ليست من النوع الصحيح.

ومن المحتمل أن يكون سبب الخطأ هو أنك تحاولين الوصول إلى مفتاح "id" في مصفوفة بيانات غير موجودة، وتستطيعي التحقق من ذلك عن طريق التحقق من أن المصفوفة تحتوي على مفتاح "id"، من خلال استخدام وظيفة array_key_exists().

ولنفترض أنك تحاولين الوصول إلى مفتاح "id" في مصفوفة بيانات تسمى data، سيكون التحقق كالتالي:

if (array_key_exists('id', $data)) {
    // المفتاح موجود
} else {
    // المفتاح غير موجود
}

وإن كان المفتاح موجودًا، فيمكننا التحقق من قيمة المفتاح عن طريق استخدام وظيفة isset().

if (isset($data['id'])) {
    // قيمة المفتاح غير فارغة
} else {
    // قيمة المفتاح فارغة
}

وفي حال كانت قيمة المفتاح فارغة، فيمكنك محاولة ملؤها بقيمة صالحة عن طريق استخدام وظيفة set().

$data['id'] = 1;

وفي حال كانت قيمة المفتاح ليست من النوع الصحيح، فتستطيعي محاولة تحويلها إلى النوع الصحيح بواسطة وظيفة intval() أو floatval() أو strval().

$data['id'] = intval($data['id']);

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 ساعة قال Mustafa Suleiman:

رسالة الخطأ تعني أنك تحاول الوصول إلى مفتاح "id" في مصفوفة غير موجودة، وذلك يحدث هذا لعدة أسباب منها:

  • المفتاح "id" غير موجود في المصفوفة التي تحاولين الوصول إليها.
  • المفتاح "id" موجود في المصفوفة، ولكن قيمته فارغة.
  • المفتاح "id" موجود في المصفوفة، ولكن قيمته ليست من النوع الصحيح.

ومن المحتمل أن يكون سبب الخطأ هو أنك تحاولين الوصول إلى مفتاح "id" في مصفوفة بيانات غير موجودة، وتستطيعي التحقق من ذلك عن طريق التحقق من أن المصفوفة تحتوي على مفتاح "id"، من خلال استخدام وظيفة array_key_exists().

ولنفترض أنك تحاولين الوصول إلى مفتاح "id" في مصفوفة بيانات تسمى data، سيكون التحقق كالتالي:

if (array_key_exists('id', $data)) {
    // المفتاح موجود
} else {
    // المفتاح غير موجود
}

وإن كان المفتاح موجودًا، فيمكننا التحقق من قيمة المفتاح عن طريق استخدام وظيفة isset().

if (isset($data['id'])) {
    // قيمة المفتاح غير فارغة
} else {
    // قيمة المفتاح فارغة
}

وفي حال كانت قيمة المفتاح فارغة، فيمكنك محاولة ملؤها بقيمة صالحة عن طريق استخدام وظيفة set().

$data['id'] = 1;

وفي حال كانت قيمة المفتاح ليست من النوع الصحيح، فتستطيعي محاولة تحويلها إلى النوع الصحيح بواسطة وظيفة intval() أو floatval() أو strval().

$data['id'] = intval($data['id']);

 

ولكن لم افهم كيف اضع انا فيه قيمة  

هذا الكود الذي يظهر مع رسالة الخطا 

<?php

 

namespace Livewire\HydrationMiddleware;

 

use Livewire\Livewire;

use function Livewire\str;

 

use Illuminate\Validation\ValidationException;

use Livewire\Exceptions\DirectlyCallingLifecycleHooksNotAllowedException;

 

class PerformActionCalls implements HydrationMiddleware

{

    public const PROTECTED_METHODS = [

        'mount',

        'hydrate*',

        'dehydrate*',

        'updating*',

        'updated*',

    ];

 

    public static function hydrate($unHydratedInstance, $request)

    {

        try {

            foreach ($request->updates as $update) {

                if ($update['type'] !== 'callMethod') continue;

 

                $id = $update['payload']['id'];

                $method = $update['payload']['method'];

                $params = $update['payload']['params'];

 

                throw_if(

                    str($method)->is(static::PROTECTED_METHODS),

                    new DirectlyCallingLifecycleHooksNotAllowedException($method, $unHydratedInstance->getName())

                );

 

                $unHydratedInstance->callMethod($method, $params, function ($returned) use ($unHydratedInstance, $method, $id) {

                    Livewire::dispatch('action.returned', $unHydratedInstance, $method, $returned, $id);

                });

            }

        } catch (ValidationException $e) {

            Livewire::dispatch('failed-validation', $e->validator, $unHydratedInstance);

 

            $unHydratedInstance->setErrorBag($e->validator->errors());

        }

    }

 

    public static function dehydrate($instance, $response)

    {

        //

    }

}

اعتقد ان ال  livewire  لايعمل 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...