从成员对象获取类引用

I am trying to build some classes for a project and I was wondering how to achieve the following. I am not really sure how to ask this with words but I will provide an example:

class Table{
    private $name;
    private $fields = [];

    public function addField(Field $field){
        $this->fields[$field->getName()] = $field;
    }

    public function getName(){
        return $this->name;
    }
}

class Field{
    private $name;

    public function getName(){
        return $this->name;
    }

    public function getTableName(){
        //return Table::getName
    }

    public function getTable(){
        //return a ref to the Table object
    }

}

$table = new Table();
$field = new Field();
$table->addField($field);

What I am trying to achieve here, once the $field is added to the $table, is there some sort of way to get the reference of the $table from any of the methods in the $field object

I would greatly appreciate any help or ideas how to restructure it so I can achieve my goal

Thank you in advance

class Table{
    private $name;
    private $fields = [];

    public function addField(Field $field){
        $this->field->setTable($this);
        $this->fields[$field->getName()] = $field;
    }

    public function getName(){
        return $this->name;
    }
}

class Field{
    private $name;
    private $relatedTable;

    public function getName(){
        return $this->name;
    }

    public function setName($name){
        $this->name = $name;
    }

    public function getTableName(){
        return $this->relatedTable->getName();
    }

    public function getTable(){
        return $this->relatedTable;
    }

    public function setTable(Table $table){
        $this->relatedTable = $table;
    }

}

$field = new Field;
$field->setName('Field1');
$table = new Table;
$table->addField($field);
echo $field->getTable()->getName();

Although you have to be aware that when you pass an object to a function, it will be passed by "reference" (I know there's another term for this.)

// in case you're running it in a for loop
$field = new Field;
$table = new Table;
for($i = 0; $i < 3; $i++)
{
    $field->setName("Field{$i}");
    $table->addField(clone $field); // notice the clone there.
}

I think this approach is kind of similar with Observer Pattern