我有一个简单的功能
function getitembyid($id)
{
$item = $em->find('models\Item', $id);
return $item;
}
我在我的应用程序中使用此功能,我也使用它,例如:
$item = getitembyid($id);
$item->setName($name);
$em->flush();
问题现在已经到来,项目表中的一列包含大量文本数据,这使得此查询有时 - 非常慢 - 。 (在正常的sql中测试,没有那一列的选择很快,否则很慢)
有没有办法改变我的简单功能,避免选择该列而不破坏我的应用程序的功能(更新行必须工作而不触及那个大列)
答案 0 :(得分:2)
这是一种部分对象方法。尝试:
$item = $em->createQuery("select partial i.{id,name} from models\Item i")
->getResult();
有关部分对象的更多信息:http://docs.doctrine-project.org/en/latest/reference/partial-objects.html