I'm trying to add user to my database through Doctrine 2.1 project and I'm getting that kind of error:
Fatal error: Call to a member function format() on a non-object in C:...\Doctrine\DBAL\Types\DateTimeType.php on line 44
Database table itself created with no problems. What could be wrong with my following code?
<?php
/**
* @Entity @Table(name="users")
*/
class User {
/**
* @Id @GeneratedValue @Column(type="integer")
* @var string
*/
protected $id;
/**
* @Column(type="string", length=20, unique=TRUE)
* @var string
*/
protected $login;
/**
* @Column(type="string", length=50, nullable=TRUE)
* @var string
*/
protected $nickname;
/**
* @Column(type="string", length=50, nullable=TRUE)
* @var string
*/
protected $firstname;
/**
* @Column(type="string", length=50, nullable=TRUE)
* @var string
*/
protected $lastname;
/**
* @Column(type="string",length=100)
* @var string
*/
protected $email;
/**
* @Column(type="string",length=24)
* @var string
*/
protected $password;
/**
* @Column(type="string", length=50, nullable=TRUE)
* @var string
*/
protected $city;
/**
* @Column(type="date", nullable=TRUE)
* @var string
*/
protected $birth_date;
/**
* @Column(type="text", nullable=TRUE)
* @var string
*/
protected $description;
/**
* @Column(type="boolean")
* @var boolean
*/
protected $activation = FALSE;
/**
* @Column(type="datetime", nullable=TRUE)
*/
protected $registration_date;
/**
* @Column(type="datetime", nullable=TRUE)
*/
protected $login_date;
/**
* @Column(type="integer")
* @var integer
*/
protected $forum_posts_amount = 0;
/**
* @Column(type="integer", length=3)
* @var integer
*/
protected $forum_group = 0;
/**
* @Column(type="integer")
* @var integer
*/
protected $comments_amount = 0;
/**
* @Column(type="boolean")
* @var boolean
*/
protected $newsletter = FALSE;
public function __construct() {
$this->registration_date = date("Y-m-d H:i:s");
}
public function getId() { return $this->id; }
public function getLogin() { return $this->login; }
public function setLogin($login) { $this->login = $login; }
public function getNickname() { return $this->nickname; }
public function setNickname($nickname) { $this->nickname = $nickname; }
public function getFirstname() { return $this->firstname; }
public function setFirstname($firstname) { $this->firstname = $firstname; }
public function getLastname() { return $this->lastname; }
public function setLastname($lastname) { $this->lastname = $lastname; }
public function getEmail() { return $this->email; }
public function setEmail($email) { $this->email = $email; }
public function getPassword() { return $this->password; }
public function setPassword($password) { $this->password = $password; }
public function getCity() { return $this->city; }
public function setCity($city) { $this->city = $city; }
public function getBirthDate() { return $this->birth_date; }
public function setBirthDate($birth_date) { $this->birth_date = $city; }
public function getDescription() { return $this->description; }
public function setDescription($description) { $this->description = $description; }
public function setLoginDate($login_date) { $this->login_date = $login_date; }
public function getForumGroup() { return $this->forum_group; }
public function setForumGroup($forum_group) { $this->forum_group = $forum_group; }
public function getCommentsAmount() { return $this->comments_amount; }
public function boostCommentsAmount() { $this->comments_amount++; }
public function getNewsletter() { return $this->newsletter; }
public function setNewsletter($newsletter) { $this->newsletter = $newsletter; }
}
Thanks for help in advance.
Doctrine requires date(time)
columns to contain DateTime
objects. So in fact your constructor should read
public function __construct() {
$this->registration_date = new \DateTime();
}
I'm sure it's something with the __construct()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With