Fix 646 to array date time

Added date, time, timestamp format for primary key generated methods if
one of the types is being used as a primary key. This makes sure that
the getPrimaryKey() Method always returns a string.

fixes #646 


whitespace `)?` => `) ?`, `code():\$this` => `code() : \$this`