【发布时间】:2021-03-26 10:21:28
【问题描述】:
根据另一个实体的字段重载一个实体的集合函数是否可行。
我在表 1(E 列)中有一个字段,该字段由 C 列或 D 列组成(如果有 2 个字段具有相同的字段,但它会在另一个时间出现,我只是试着让它工作)。 字段 E 将取决于另一个表 (2)。
示例:如果在表 2 中,字段“crit1”或“crit2”是“本地化”,在表 1 中,“tri_id”列(F 列)将取 D 列的值,否则取 E 列的值。
这些表的结构示例
=> adapte_gaucher 的意思是“左手改编”
我在我的实体中这样做:
/**
* @param int $triId
*/
public function setTriId(int $shopId, int $triId): void
{
$entityManager = $this->getDoctrine()->getManager();
$products = $this->getDoctrine()
->getRepository(Table1::class)
->find($shopId)
if(Table1->crit1 != "localisation" || Table1->crit2 != "localisation" ) {
$triId = $this->tri21 ;
} else {
$triId = $this->tri12 ;
}
$this->triId = $triId;
$entityManager->persist($triId);
$entityManager->flush();
}
这会是一个好的解决方案吗?我太新了,不知道这是否是一个好方法,或者我是否不应该这样做。 这是我的实习项目(我只是一名大三学生,在我身后只进行了一年的编程,没有任何框架课程)。 对不起,“悲怆”的台词,但它真的会帮助我成功。
还是谢谢。
【问题讨论】:
-
最好将所有逻辑移至控制器并保持设置器简单
-
同意我会避免将业务逻辑放入实体中
-
问题是控制器被调用一次只是为了返回一个json文件并且永远不会被调用。
标签: php symfony entity symfony4