Doctrine有像Laravel Eloquent那样的SYNC方法来处理实体吗?

问题描述 投票:-2回答:1

我想在一个多对多的关系中更新insert和同步几个对象.

在A和B实体之间有一个多对多的关系.

我有一个数组, 其中包含了以下实体的id列表 实体B 我想插入的 实体A. 同步方法会删除所有不在数组中的实体,如果Symfony中没有这种方法,请问symfony有什么办法处理这种情况?

如果Symfony中没有这样的方法,请问Symfony有什么方法可以处理这种情况?

php doctrine-orm doctrine
1个回答
1
投票

Symfony没有一个与SYNC对应的函数。

处理这个问题的方法是在实体A中添加一个公共函数。

    public function sync($ids, array $array_bs){
    //get all Bs
    $bs = $this->getB();        
    foreach ($bs as $b){
        $id = $b->getId();
        if (strpos($id,$ids)== false){
            //remove
            $this->removeB($b);
        }
        //add new child entities
        foreach ($array_bs $bs){
            $this->addB($bs);
        }
    }
    }
© www.soinside.com 2019 - 2024. All rights reserved.