我是Symfony的初学者。
我有两个实体:股票和销售。两者都有它们关联的数据库表。
股票的结构如下:
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| description | varchar(255) | NO | | NULL | |
| input | int(11) | NO | | NULL | |
| output | int(11) | NO | | NULL | |
| balance | int(11) | NO | | NULL | |
| created | datetime | NO | | NULL | |
| updated | datetime | NO | | NULL | |
| unitcost | double | NO | | NULL | |
+-------------+--------------+------+-----+---------+----------------+销售结构如下:
+------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| cost | double | NO | | NULL | |
| date | datetime | NO | | NULL | |
| profitloss | double | NO | | NULL | |
| sid | int(11) | YES | MUL | NULL | |
+------------+----------+------+-----+---------+----------------+我试图在股票和销售之间建立一对多的关系。
库存是一家商店出售的所有商品的清单。销售是库存数据库表中任何项目实际采购的记录。
在展示我的第一个销售项目的过程中,我遇到了一个很大的问题。
为了显示销售,我的设想是在两个表之间执行一个SQL语句,其中的Sales:sid:==股票:id-我遇到了新的问题,因为我找不到一种直接的方式来执行我已经习惯的那种SQL执行。
我怎么才能开始呢?我希望通过从“股票”表中获取相关数据来打印每个销售的详细信息。
发布于 2015-01-11 07:12:55
原则处理这类事情,因为you.You可以创建双向的一对多的关联,就像在一对多协会中一样。所以你的股票实体就像
class Stock{
...
/**
*@OneToMany(targetEntity="YourBundleNamespace\Entity\Sale", mappedBy="stock")
*
*/
protected $sales;
}class Sale{
protected $id;
....
/**
*@ManyToOne(targetEntity="YourBundleNameSpace\Entity\Stock", inversedBy="sales")
*@JoinColumn(name="sid", referencedColumnName="id")
*/
protected $stock;
}然后,只需找到您想要的销售实体控制器并调用$sale->getStock(),您将得到与该销售相关的Stock实体。
对于sql,执行原则具有执行原始sql的能力,但最好使用原则的dql和QueryBuilder。见dql和QueryBuilder
https://stackoverflow.com/questions/27883459
复制相似问题