Bil*_*lel 5 symfony doctrine-orm
我使用Doctrine创建了一个Symfony项目,当我在数据库中保存一个实体时,我发现它节省了两次.
我都用了persistAndflush(),并且persist()和flush()分别,但我不明白的问题.
Alo*_*lil 16
试想一下,在你的控制器,你有一个以上的运做不同的对象:$obj1,$obj2,$obj3.
现在,您需要在数据库中保存所有转换(创建,更新,删除).要告诉ORM它需要执行这些操作,您需要通过以下方式"填充队列":
$em->persist($obj1);
$em->persist($obj2);
$em->persist($obj3);
Run Code Online (Sandbox Code Playgroud)
现在,在队列中,您有三个对象,但数据库中仍然没有更改.刷新操作告诉ORM/ODM"现在应用更改".
$em->flush();
Run Code Online (Sandbox Code Playgroud)
因此,应用在你的三个对象的修改将被存储在数据库中坚持调用的顺序为:$obj1,$obj2,$obj3.
| 归档时间: |
|
| 查看次数: |
12033 次 |
| 最近记录: |