第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在冪等情況下通過(guò)服務(wù)更新實(shí)體的最佳方式?

在冪等情況下通過(guò)服務(wù)更新實(shí)體的最佳方式?

PHP
炎炎設(shè)計(jì) 2022-10-22 15:09:00
假設(shè)我有實(shí)體:class UserEntity{    /**     * @var integer     * @ORM\Id     * @ORM\Column(type="integer")     * @ORM\GeneratedValue(strategy="IDENTITY")     */    private $id;    /**     * @var string     * @ORM\Column(type="string")     */    private $name;    /**     * @var string     * @ORM\Column(type="string")     */    private $email;// and contruct, getters and setters..}并在相應(yīng)的服務(wù)中:class UserService extends BaseService{    public function update($id, $data)    {        try {            $user= $this->fetch($id);            if (! $user instanceof UserEntity) {                // throw respective exception;            }            $user->setName($data['name']);            $user->setEmail($data['email']);            $this->entityManager->flush($user);            return $user;        } catch (Exception $e) {            throw $e;        }     }}如果有這樣的用戶:{    id: 1,    name: jhon,    email: jhon@domain.com}并且提供給服務(wù)的數(shù)據(jù)是:$id = 1;$data = [     'name' => jhon,     'email => jhon@domain,com]那么,在這些情況下,避免對(duì)數(shù)據(jù)庫(kù)進(jìn)行不必要的查詢的最佳方法是什么?因?yàn)闆](méi)有必要調(diào)用 flush 方法。還是 Doctrine 內(nèi)部負(fù)責(zé)不做查詢?
查看完整描述

1 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

根據(jù)當(dāng)前文檔

刷新操作適用于具有以下語(yǔ)義的托管實(shí)體:

  • 實(shí)體本身使用 SQL UPDATE 語(yǔ)句同步到數(shù)據(jù)庫(kù),前提是至少有一個(gè)持久性字段已更改。

  • 如果實(shí)體未更改,則不會(huì)執(zhí)行任何 SQL 更新。

當(dāng)實(shí)體成為托管實(shí)體時(shí)(根據(jù)它們的 ORMInvalidArgumentExceptions 之一):

如果實(shí)體從數(shù)據(jù)庫(kù)中獲取或通過(guò) EntityManager#persist 注冊(cè)為新實(shí)體,則該實(shí)體被管理

所以,是的,Doctrine 會(huì)為你做出決定。


查看完整回答
反對(duì) 回復(fù) 2022-10-22
  • 1 回答
  • 0 關(guān)注
  • 125 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)