PHP静态属性,扩展类被覆盖

Please, could you help me a bit with my problem?

I have class called Translateable and then clasess Article and Banner, which extend this class.

Problem occurs, when I do this:

$article = (new Article)->find(15);
$banner =  (new Banner)->find(1);

$articleTrans = $article->trans(); // method trans is method from Translateable

When I call $article->trans(); I expect output like this:

App\Models\ArticleTrans
Article

but it return this:

App\Models\ArticleTrans
Banner

First row is ok, but the second one if bad and I don't know, how to solve this problem. I need to have $instance stored as static property.

Could you give me you help?

  class Translateable extends Model {

        static $transLang = null;
        static $transClass = null;
        static $instance = null;

        public function __construct(array $attributes = array()) {

            static::$transLang = App::getLocale();

            parent::$transClass = static::$transClass;
            parent::$instance = static::$instance;
            parent::__construct($attributes);

        }
        /**
         * get items trans
         *
         * @param null $lang
         * @return mixed
         */
         public function trans($lang = null) {
              if($lang == null) {
                 $lang = static::$transLang;
              }

                  echo static::$transClass;
                  echo class_basename(static::$instance);
                  die();

              }
              public static function find($primaryKeyVal, $columns = []) {

                 $tci = new static::$transClass;
                 $item = static::withTrans()->where(static::$instance->getTable() . '.' . static::$instance->primaryKey, '=', $primaryKeyVal)->where($tci->getTable() . '.lang', '=', static::$transLang)->first();
    return $item;

        }
    }

class Article extends Translateable {
        static $transClass = 'App\Models\ArticleTrans';

        public function __construct(array $attributes = array()) {

            parent::$transClass = static::$transClass;
            parent::$instance = $this;

            parent::__construct($attributes);

        }
 }

class Banner extends Translateable {

    static $transClass = 'App\Models\BannerTrans';

    public function __construct(array $attributes = array()) {

        parent::$transClass = static::$transClass;
        parent::$instance = $this;

        parent::__construct($attributes);

    }
}