Welcome Guest, Not a member yet? Register   Sign In
How to retrieve data from two entities in Doctrine?
#1

[eluser]Unknown[/eluser]
Hi everyone, i'm newbie here, i'm newbie in doctrineSmile

I have some basic question about using Doctrine.

My problem is to retrieve objects from two associated entities.

First is Groups, second is Users. Those two are associated with OneToMany relationship.


My target is to retrieve data about users by for example id_group?
How can i do that? By using some doctrine qeuery methods, oraz maybe by DQL?

My config is up and running Doctrine2/CI2


There are my two entity classes:

<?php
namespace models;
/**
* @Entity
* @Table(name="users")
* @ManyToOne(targetEntity="Groups")
* @JoinColumn(name="id_group_fk", referencedColumnName="id_group")
*/

class Users {

/**
* @Id
* @Column(type="integer", nullable=false)
* @GeneratedValue(strategy="AUTO")
*/
private $id_user;

/**
* @Column(type="integer", nullable=true)
*/
private $id_group_fk;

/**
* @Column(type="integer", length=1, nullable=true)
*/
private $is_active;
/**
* @Column(type="string", length=64, unique = true, nullable=true)
*/

private $username;

/**
* @Column(type="string", length=64, nullable=true)
*/
private $password;


/**
* @Column(type="string", length=64, nullable=true)
*/
private $fname;


/**
* @Column(type="string", length=64, nullable=true)
*/
private $lname;


/**
* @Column(type="string", length=64, nullable=true)
*/

private $city;

/**
* @Column(type="string", length=64, unique=true, nullable=true)
*/
private $email;

/**
* @Column(type="string", length=64, nullable=true)
*/
private $phone;

/**
* @Column(type="string", length=64, nullable=true)
*/
private $address;

/**
* @Column(type="string", length=64, nullable=true)
*/
private $created;

/**
* @Column(type="string", length=64, nullable=true)
*/
private $last_visit;

/**
* @Column(type="string", length=64, nullable=true)
*/
private $modified;


/**
* @Column(type="integer", length=1, nullable=false)
*/
private $deleted;


public function getId() { return $this->id_user; }
public function setId($id) { $this->id_user = $id; }

public function getIdGroupFk() { return $this->id_group_fk; }
public function setIdGroupFk($id_group_fk) { $this->id_group_fk = $id_group_fk; }

public function setActivity($active) { $this->is_active = $active; }
public function getActivity() { return $this->is_active; }

public function setUsername($username) { $this->username = $username; }
public function getUsername() { return $this->username; }

public function setPassword($password) { $this->password = $password; }
public function getPassword() { return $this->password; }

public function setEmail($email) { $this->email = $email; }
public function getEmail() { return $this->email; }

public function setPhone($phone) { $this->phone = $phone; }
public function getPhone() { return $this->phone; }

public function setFname($Fname) { $this->fname = $Fname; }
public function getFname() { return $this->fname; }

public function setLname($Lname) { $this->lname = $Lname; }
public function getLname() { return $this->lname; }

public function setAddress($Adress) { $this->address = $Address; }
public function getAddress() { return $this->address; }

public function setCity($City) { $this->city = $City; }
public function getCity() { return $this->City; }

public function setCreated($Created) { $this->created = $Created; }
public function getCreated() { return $this->created; }

public function setLastVisit($LastVisit) { $this->last_visit = $LastVisit; }
public function getLastVisit() { return $this->last_visit; }

public function setModified($Modified) { $this->modified = $Modified; }
public function getModified() { return $this->modified; }

public function setDeleted($Deleted) { $this->deleted = $Deleted; }
public function getDeleted() { return $this->deleted; }

}






<?php
namespace models;
/**
* @Entity
* @Table(name="groups")
* @OneToMany(targetEntity="Users", mappedBy="Groups")
*/

class Groups {

/**
* @Id
* @Column(type="integer", nullable=false)
* @GeneratedValue(strategy="AUTO")
*/
private $id_group;

/**
* @Column(type="string", length=64, nullable=true)
*/
private $name;

/**
* @Column(type="string", length=64, nullable=true)
*/
private $descr;



public function getId() { return $this->id_group; }
public function setId($id) { $this->id_group = $id; }

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

public function setDescription($Description) { $this->descr = $Description; }
public function getDescription() { return $this->descr; }

}




Theme © iAndrew 2016 - Forum software by © MyBB