سؤال

أحاول دفع عنصر صفيف جديد إلى متغير صفيف موجود يحتوي على عناصر من قاعدة البيانات.ما أريد القيام به هو إضافة عنصر جديد اسمه 'الآخرين' في نهاية هذه المصفوفة وعرضها كما حدد المنسدلة في الرأي الذي يتكون من جميع العناصر من قاعدة البيانات وفي نهاية هذا حدد 'الآخرين' البند الذي أضفته يدويا في وحدة تحكم بلدي.

هنا هو ما حاولت القيام به:

    $competition_all = Competition::all();
    $newCompete = array('name'=>'Others');
    array_push($competition_all, $newCompete);

    $this->competition_games = array('Competition');

    foreach ($competition_all as $competition_games) {
        $this->competition_games[$competition_games->name] = $competition_games->name;
    }

ما قاله هو مثل هذا

استثناء غير معالج

الرسالة:

محاولة الحصول على خاصية الموقع غير الكائن:

C:\xampp\htdocs\khelkheladi\khelkheladi\application\controllers egister.بي إتش بي على الخط 104

في قاعدة البيانات الخاصة بي ، تحتوي المنافسة على هذا النوع من بنية الأعمدة

->id
->year
->place
->name
->created_at
->updated_at

في ترتيب معين.

ما أحاول القيام به هو دون إدراج عنصر في الواقع في قاعدة البيانات ، فقط تظهر بشكل ثابت الآخرين حدد البند في تحديد العلامة في الرأي.كيف يمكنني إدراج هذا العنصر الجديد دون إدراجه فعليا في قاعدة البيانات ولكن لعرضه في العرض فقط?

الإخراج ما أحصل عليه من قبل فقط عن طريق استرداد عنصر قاعدة البيانات هو مثل هذا

<select>
  <option value="1">Value 1</option>
  <option value="2">Value 2</option>
  <option value="3">Value 3</option>
  <option value="4">Value 4</option>
</select> 

ما أحب القيام به هو مثل هذا

<select>
  <option value="1">Value 1</option>
  <option value="2">Value 2</option>
  <option value="3">Value 3</option>
  <option value="4">Value 4</option>
  <option value="5">Others</option>
</select> 
هل كانت مفيدة؟

المحلول

الطريقة "النظيفة" للقيام بذلك هي إنشاء مثيل من Competition دون الالتزام بقاعدة البيانات ، وكرر مرة أخرى دورتك مع مثيل إضافي.

ومع ذلك ، هنا يبدو أنك مجرد إنتاج قائمة ، لذلك يجب أن يكون كافيا للقيام إضافة أسرع بكثير إلى القائمة النهائية:

$competition_all = Competition::all();
$this->competition_games = array('Competition');

foreach ($competition_all as $competition_games) {
    $this->competition_games[$competition_games->name] = $competition_games->name;
}
$this->competition_games['name'] = 'Others';

نصائح أخرى

هذا لأنك تضيف غير كائن إلى العنصر الأخير من الصفيف.

هنا أفترض أنك تحصل على مجموعة من الكائنات مع خاصية الاسم giveacodicetagpre.

هنا تقوم بإضافة مفتاح=> Value Pair إلى العنصر الأخير من صفيف الكائنات giveacodicetagpre.

هنا أنت تمشي من خلال مجموعة من الكائنات وعندما يتعلق الأمر بالعنصر الأخير "$ plactorm_games-> الاسم" لا يوجد لديه اسم خاصية الاسم giveacodicetagpre.

جرب شيئا مثل STDClass له مثل: giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top