original_string: protected function dataGet($target, $key)
      {
          foreach (explode('.', $key) as $segment) {
              if (is_object($target) && in_array(Revisionable::class, class_uses_recursive(get_class($target)))) {
                  $target = $this->passThroughRevisionable($target, $segment);
              } elseif ($target instanceof self || $target instanceof Revision) {
                  $target = $this->passThroughRevision($target, $segment);
              } elseif ($target instanceof Model) {
                  $target = $this->passThroughModel($target, $segment);
              } else {
                  $target = null;
              }
  
              if (!$target) {
                  return;
              }
          }
  
          return $target;
      }
code: protected function dataGet($target, $key)
      {
          foreach (explode('.', $key) as $segment) {
              if (is_object($target) && in_array(Revisionable::class, class_uses_recursive(get_class($target)))) {
                  $target = $this->passThroughRevisionable($target, $segment);
              } elseif ($target instanceof self || $target instanceof Revision) {
                  $target = $this->passThroughRevision($target, $segment);
              } elseif ($target instanceof Model) {
                  $target = $this->passThroughModel($target, $segment);
              } else {
                  $target = null;
              }
  
              if (!$target) {
                  return;
              }
          }
  
          return $target;
      }
code_tokens: protected function dataGet ( $ target , $ key ) { foreach ( explode ( '.' , $ key ) as $ segment ) { if ( is_object ( $ target ) && in_array ( Revisionable :: class , class_uses_recursive ( get_class ( $ target ) ) ) ) { $ target = $ this -> passThroughRevisionable ( $ target , $ segment ) ; } elseif ( $ target instanceof self || $ target instanceof Revision ) { $ target = $ this -> passThroughRevision ( $ target , $ segment ) ; } elseif ( $ target instanceof Model ) { $ target = $ this -> passThroughModel ( $ target , $ segment ) ; } else { $ target = null ; } if ( ! $ target ) { return ; } } return $ target ; }
docstring: Get pass through value using dot notation.
  
  @param mixed  $target
  @param string $key
  
  @return mixed
docstring_tokens: Get pass through value using dot notation .