use*_*r17 6 php symfony doctrine-orm
我有像这样的Array对象集合
Class User
{
private $tasks
}
Run Code Online (Sandbox Code Playgroud)
一旦用户从数据库加载,我如何清空或清除集合.
当我查询用户然后doctrine将延迟加载用户对象中的任务,但我想首先清除这些任务
就像是
$user->getTasks().empty()
Tho*_*ley 20
首先,我想你的User实体的构造函数看起来像这样:
class User
{
public function __construct()
{
...
$this->tasks = new \Doctrine\Common\Collections\ArrayCollection();
...
}
}
Run Code Online (Sandbox Code Playgroud)
如果到目前为止这不正确,那么请停止阅读,并在评论中纠正我:)
请注意,ArrayCollection类是由Doctrine创建的.Symfony及其大部分组件都非常适合记录类.当你查找那个课程时,你会发现:
(当然,请确保您使用的是相同版本;否则,请尝试查找适用于您的版本的文档)
该文档列出了ArrayCollection对象可用的所有方法.其中:clear().
也就是说,向User类添加一个新方法应该有效:
class User
{
public function clearTasks()
{
$this->getTasks()->clear();
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在User对象上,只需调用:
$user->clearTasks();
Run Code Online (Sandbox Code Playgroud)
(不要忘记坚持到数据库!)
| 归档时间: |
|
| 查看次数: |
17784 次 |
| 最近记录: |