原则-使用两个ID进行持久化

时间:2019-02-06 13:49:05

标签: php doctrine entity flush persist

我有两个实体。美元和钱包。美元已经存在于我的数据库中,我需要更改其钱包。因此,我不得不进行api调用,该调用应该接收dollar_id和wallet_id并将美元转移到其他钱包。

首先我要通过我的Dollar实体找到我的dollar_id,然后使用我传递的参数来更新其wallet_id字段。

这是我的服务

public function moveDollar($id)
{

    $dollar = $this->getDollarRepository()->find($id);
    $wallet = $this->getWalletRepository()->find($id);

    if ($dollar instanceof Dollar)
    {
        $dollar->setWallet($wallet);
    }

    $this->em->persist($dollar);
    $this->em->flush();

    return $dollar;

}

还有我的控制器(我想我需要传递两个ID而不只是一个)

控制器:

 public function moveDollarAction()
{
    $this->requirePostParams(['wallet_id', 'dollar_id']);

    $this->container->get('app')->moveDollar(
        $this->data['wallet_id'],
        $this->data['dollar_id']
    );

    return $this->success();
}

任何准则?

0 个答案:

没有答案