Ich bin ein Neuling in Symfony und möchte einige Hinweise zum Erstellen einer Abfrage Builder-Anweisung. Ist ziemlich einfach, ist die Idee, die Daten von einer dritten Entität zu erhalten.symfony create query builder
Ich habe die Entitäten:
/**
* Entity
* @ORM\Entity(repositoryClass="LoungepassBundle\Entity\LoungepassRepository")
* @ORM\Table(name="loungepass_loungepass")
*
*/
class Loungepass{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
// ...
/**
* @ORM\ManyToOne(targetEntity="\AppBundle\Entity\Agency", inversedBy="loungepasses")
* @ORM\JoinColumn(name="agency_id", referencedColumnName="iata8", nullable=false)
*/
private $agency;
//...
}
Agentur Entity
class Agency {
/**
* @ORM\Id
* @ORM\Column(type="string", length=8, name="iata8")
*/
protected $id;
//...
/**
* @ORM\OneToMany(targetEntity="LoungepassBundle\Entity\Loungepass", mappedBy="agency")
*/
protected $loungepasses;
/**
* @var Market
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Market")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="sales_country", referencedColumnName="id")
* })
*/
private $market;
//...
}
Ich möchte eine Abfrage tun, wie folgt aus:
public function queryBySlugInContext($slug, $user) {
$query = $this->createQueryBuilder("l")
->where('l.slug = :slug')
->setParameter('slug', $slug);
if(count($user->getAgencies()) > 0){
$query->andWhere(':agencyIds MEMBER OF l.agencies')
->setParameter('agencyIds',$user->getAgencies());
}
Lage, die Informationen aus den Zugriff auf Marktattribut, das sich in der Agentur-Entität befindet. Rufen Sie im Grunde Informationen von der Markteinheit ab.
irgendwelche Vorschläge? Vielen Dank im Voraus
Vielen einige Inhalte im Internet wie zum Beispiel zu lesen, ja las ich in verschiedenen Websites, aber es war immer noch schwierig für mich zu verstehen. Können Sie mir helfen, die Abfrage zu erstellen, um die Daten aus der dritten Tabelle abzurufen, oder einige Links, die mir helfen können. Danke – andreahg
warum brauche ich eine array_map und die Funktion, in dieser Funktion kann ich auch die Märkte, $ agency-> getMarkets() aufrufen? – andreahg
"schwer zu verstehen" war nicht das richtige Wort, ich möchte Dokumentation oder Beispiele, um Daten aus verschiedenen Tabellen abrufen – andreahg