8000 Multiple attributes treated differently from single attribute in queryToArray · Issue #583 · formers/former · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Multiple attributes treated differently from single attribute in queryToArray #583
Open
@OXINARF

Description

@OXINARF

//For backward compatibility
if (count($attributes) === 1) {
$array[$optionAttributeValue] = (string) $optionText;
} else {
$array[$optionText][$optionAttributeName] = (string) $optionAttributeValue;
}

This code forces the string type:

  • to the text when single attribute
  • to the attribute value on multiple attributes (and not to the text in this case)

It was detected when adding a new attribute to select options, which until then only had the typical value. When populating the default selected option, it would fail because the populated value was an int but the value was now a string.
I workaround it by casting the default selected value to a string when calling populateField, but it would be better to fix Former.

Proposed fix:

//For backward compatibility 
if (count($attributes) === 1) { 
    $array[$optionAttributeValue] = (string) $optionText; 
} else { 
    $array[(string) $optionText][$optionAttributeName] = $optionAttributeValue; 
} 

P.S.: I only come into contact with Former through another project so I might be completely missing something here, my apologies if so.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0