При фильтрации полей появляется сообщение «создание объекта по умолчанию из пустого значения».

Я пытаюсь изменить метку поля динамически на основе имени пользователя, которое начинается с определенной строки

public function filterFields($fields,$context = null)
{
      $nager = WartaDataProfil::where('backend_users_id',$this->getBackendUserId())->pluck('nager');        

      if(Str::startsWith($nager[0],'GP')){            

        $fields->wil->label = "Sektor";
      }

}

у меня ошибка

Creating default object from empty value

от линии

$fields->wil->label = "Sektor";

когда я dd($fields->wil->label);, я получил строку по умолчанию, которая определена в файле yaml ..

fields.yaml

fields:
nowarta:
    label: 'No. Warta'
    ...
tanggal:
    label: 'Tanggal'
    ...
batasno:
    label: ''
    ...
    type: section           
tabs:
fields:
    renung:
        label: 'Renungan Mingguan'            
        span: full
        type: section 
        tab: 'Renungan/Artikel'           
    renungan:
        label: ''            
        ...  
        type: repeater
        ...
        minItems: '1'
        maxItems: '1'        
        form:
            fields:
                judul:
                    label: 'Judul'                        
                    ...
                bacaan:
                    label: 'Bahan'
                    ...

                penulis:
                    label: 'Penulis'                        
                    ...                      
                isi:
                    label: Renungan                        
                    ...
    keb:
        label: 'Kebaktian Umum'
        span: full
        type: section  
        tab: 'Kebaktian'                                
    kebakti:
        label: ''            
        span: full
        type: partial
        path: field_kebum
        tab: 'Kebaktian' 
    kom: 
        label: 'Kebaktian Komisi'
        span: left
        type: section  
        tab: 'Kebaktian'
    wil: <<<   THIS FIELD <<<<<<<<<<<<<<<<<
        label: 'Persekutuan Wilayah'            
        span: right
        type: section
        tab: 'Kebaktian'                  
    Komisi:
        label: ''            
        span: left
        type: partial
        path: field_kebkom
        tab: 'Kebaktian'       
    pwil:
        label: ''                     
        span: right
        type: partial
        path: field_pwilayah
        tab: 'Kebaktian'      

надеюсь, что это поможет найти решение моей проблемы .. потому что я использую тот же filterField в другой модели и работает нормально ..

хм, не могли бы вы поделиться дополнительной информацией об ошибке, on which like its raising и under which scenario, я попытался воспроизвести ее but seems for me everything works fine.

Hardik Satasiya 26.10.2018 09:33

Эти поля - tabfields, может быть, это тот сценарий, который вы имеете в виду?

Isral Bustami 26.10.2018 09:42

да, может быть, позвольте мне проверить это, я имею в виду, что во время вставки, во время обновления или в любое обычное время, например, ajax, когда вы получаете такую ​​ошибку

Hardik Satasiya 26.10.2018 09:44

Я проверил поле, которое было внутри вкладки, и, похоже, у меня работает $fields->description1->label = 'oks';, мне этого достаточно

Hardik Satasiya 26.10.2018 09:49

Ну .. модель имеет public function beforeSave() и много частичных полей ..

Isral Bustami 26.10.2018 09:49

Можете ли вы поделиться содержимым файла fields.yaml.

Hardik Satasiya 26.10.2018 09:50

Конечно .. я обновлю свой вопрос

Isral Bustami 26.10.2018 10:34

хм, что-то еще вызывает проблему, я использовал ваш fields.yaml$fields->wil->label = 'oks'; работал нормально, можете ли вы поделиться, в какой строке возникает эта ошибка, возможно, присвоение метки не проблема, что-то еще может быть

Hardik Satasiya 26.10.2018 11:10

Может ли поле повторителя вызвать эту проблему ... так как у меня была эта функция filterField на другой модели, и она работает очень хорошо ... и на этой другой модели не было поля повторителя ..

Isral Bustami 26.10.2018 12:22

Может вызвать эту проблему функция extendFormFieldBefore в контроллере.

Isral Bustami 26.10.2018 12:24

если вы можете поделиться code, я могу найти это

Hardik Satasiya 26.10.2018 12:47

Я попытаюсь отключить дополнительную функцию, которая была добавлена ​​к моделям и контроллеру, и сообщу, какая функция вызывает эту проблему.

Isral Bustami 26.10.2018 12:56

Хм ! это похоже на план :)

Hardik Satasiya 26.10.2018 13:00

я понял .. я удалил все поле ретранслятора .. и все работает как шарм .. есть ли способ справиться с этим полем ретранслятора .. это ошибка?

Isral Bustami 27.10.2018 04:17

не уверен, что повторитель выполнен с использованием клиентской части js, так что может быть .. вам нужно ткнуть туда, я думаю :)

Hardik Satasiya 29.10.2018 06:24

Я переделываю файл yaml .. поэтому я использую RelationshipWidget вместо повторителя .. и он работает хорошо ..

Isral Bustami 29.10.2018 06:32

Престижность к этому, здорово

Hardik Satasiya 29.10.2018 06:33

Я публикую эту проблему в github для octobercms ... одно решение пришло, что нужно использовать bindEvent ... я пробовал, но ничего не произошло ... поэтому я переделал файл yaml

Isral Bustami 29.10.2018 06:36

Спасибо @HardikSatasiya за ваш совет .. действительно мне очень помогли ..

Isral Bustami 29.10.2018 06:39

добро пожаловать @isral :)

Hardik Satasiya 29.10.2018 06:40
0
20
106
0

Другие вопросы по теме