primaryKey = $primaryKey; $this->foreignKey = $foreignKey; } /** * @param string $table * * @return string */ public function getPrimaryKey($table) { return $this->key($this->primaryKey, $table); } /** * @param string $table * * @return string */ public function getForeignKey($table) { return $this->key($this->foreignKey, $table); } /** * @param string|callback $key * @param string $table * * @return string */ private function key($key, $table) { if (is_callable($key)) { return $key($table); } return sprintf($key, $table); } }