arrilot / bitrix-models

MIT License
121 stars 37 forks source link

В Accessors не удалось поместить массив #16

Closed ProklUng closed 6 years ago

ProklUng commented 6 years ago

Subj. Со строками и числами проблем нет, но с массивом обломался. Пример:

class protectedProject extends ElementModel {

const IBLOCK_ID = 110;
const IBLOCK_VERSION = 1;

protected $appends = ['NORMALIZE_ORDER'];

public function getNormalizeOrderAttribute()
    {

// $this['PROPERTY_SOSTAVZAKAZ_VALUE & $this['PROPERTY_QTYZAKAZ_VALUE'] - массивы гарантированно.

    $ewa = array_combine ( $this['PROPERTY_SOSTAVZAKAZ_VALUE'] , $this['PROPERTY_QTYZAKAZ_VALUE'] );

    return $ewa;

    }

}

В 'NORMALIZE_ORDER' пустота.

Так и задумано?

arrilot commented 6 years ago

У меня не воспроизводится на последней версии и php 7.0 (но это всё скорее всего не важно)

    public function getNormalizeOrderAttribute()
    {
        return array_combine($this['PROPERTY_MSTR1_VALUE'], $this['PROPERTY_MSTR2_VALUE']);
    }

var_dump($el->toArray()['NORMALIZE_ORDER']);

array:3 [▼
  12 => "2"
  23 => "3"
  45 => "4"
]

Полагаю что всё-таки что-то из этого у тебя не массив.