Как я могу проверить, есть ли свойство в моем объекте? - PullRequest
0 голосов
/ 04 января 2019

Это мой объект fields:

{#7139 ▼
  +"id": array:9 [▼
    "fieldName" => "id"
    "type" => "integer"
    "scale" => 0
    "length" => null
    "unique" => false
    "nullable" => false
    "precision" => 0
    "id" => true
    "columnName" => "id"
  ]
  +"name": array:8 [▼
    "fieldName" => "name"
    "type" => "string"
    "scale" => 0
    "length" => 255
    "unique" => false
    "nullable" => false
    "precision" => 0
    "columnName" => "name"
  ]
  +"unique_id": array:8 [▼
    "fieldName" => "unique_id"
    "type" => "string"
    "scale" => 0
    "length" => 10
    "unique" => true
    "nullable" => false
    "precision" => 0
    "columnName" => "unique_id"
  ]
  +"productgroup": array:20 [▼
    "fieldName" => "productgroup"
    "joinTable" => array:3 [▶]
    "targetEntity" => "App\Entity\Productgroup"
    "mappedBy" => null
    "inversedBy" => null
    "cascade" => []
    "orphanRemoval" => false
    "fetch" => 2
    "type" => 8
    "isOwningSide" => true
    "sourceEntity" => "App\Entity\Products"
    "isCascadeRemove" => false
    "isCascadePersist" => false
    "isCascadeRefresh" => false
    "isCascadeMerge" => false
    "isCascadeDetach" => false
    "joinTableColumns" => array:2 [▶]
    "isOnDeleteCascade" => true
    "relationToSourceKeyColumns" => array:1 [▶]
    "relationToTargetKeyColumns" => array:1 [▶]
  ]
}

Я хочу получить имя объекта, содержащего relationToSourceKeyColumns

Это мой подход:

  foreach ($fields as $field) {
      $ManyToMany = property_exists($field['fieldName'], 'relationToSourceKeyColumns');
      if($ManyToMany == true){
        $result = $field['fieldName'];
      }
    }

Результат:

""

но мой ожидаемый результат:

"productgroup"

1 Ответ

0 голосов
/ 04 января 2019

Функция property_exists для объекта (https://secure.php.net/manual/en/function.property-exists.php). В вашей структуре ключ поиска находится в массиве, возможно, используйте array_key_exists (https://secure.php.net/manual/en/function.array-key-exists.php).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...