getMethodValue() public method

Get the value of a method on the entity
public getMethodValue ( $name ) : mixed
$name
return mixed
Beispiel #1
0
 /**
  * Re-test and update inverted sort-by columns for maintained relationship entities
  *
  * Entities in a relationship that are not maintained (added or removed) will be updated when the entire
  * relationship is added/removed
  *
  * @param Relationship $inverse_relationship Inverted relationship
  * @param string[]     $maintain             Array of foreign ID's that are the maintained part of the relationship
  * @param Reader       $reader               Local entity reader
  * @param string       $local_id             Local ID
  */
 private function updateMaintainedRelationshipSortIndices(Relationship $inverse_relationship, $maintain, Reader $reader, $local_id)
 {
     if (!$inverse_relationship->getSortableBy()) {
         return;
     }
     // Update unchanged relationships, as the sort-by column or conditions may have changed
     foreach ($maintain as $foreign_id) {
         foreach ($inverse_relationship->getSortableBy() as $sortable) {
             $index_key = $this->getSortIndexKey($inverse_relationship, $sortable->getName(), $foreign_id);
             // Test conditions
             foreach ($sortable->getConditions() as $condition) {
                 if ($condition->getColumn()) {
                     if (!$condition->test($reader->getPropertyValue($condition->getColumn()))) {
                         // Condition failed, remove index
                         $this->getDriver()->removeSortedIndex($index_key, $local_id);
                         continue 2;
                     }
                 } elseif ($condition->getMethod()) {
                     if (!$condition->test($reader->getMethodValue($condition->getMethod()))) {
                         // Condition failed, remove index
                         $this->getDriver()->removeSortedIndex($index_key, $local_id);
                         continue 2;
                     }
                 }
             }
             // Add/update inverse index
             $this->getDriver()->addSortedIndex($index_key, $reader->getPropertyValue($sortable->getColumn()), $local_id);
         }
     }
 }