Php 更新id等于3的表,并向updatecount列中已存在的值加上1
我试图更新一个id等于3的表,并增加一个名为updatecount的列,例如,如果列中的值为3,则让它添加一个,并使其为4。这是我的桌子结构 图像Php 更新id等于3的表,并向updatecount列中已存在的值加上1,php,mysql,symfony,Php,Mysql,Symfony,我试图更新一个id等于3的表,并增加一个名为updatecount的列,例如,如果列中的值为3,则让它添加一个,并使其为4。这是我的桌子结构 图像 id | photo | updatecount | 1 xyz | 3 如果我再次更新照片,其中id等于1,则结果变为 id | photo | updatecount | 1 xyz | 4 这是我的控制器定义 public function upDateAction(Request $request) {
id | photo | updatecount |
1 xyz | 3
如果我再次更新照片,其中id等于1,则结果变为
id | photo | updatecount |
1 xyz | 4
这是我的控制器定义
public function upDateAction(Request $request)
{
$intid = (int)$request->request->get('imageid'); //convert the request object to int
$image = new Image();
... //to do updating here
编辑的
这是我的型号>>>
/**
* @var string
*
* @ORM\Column(name="photo", type="string", length=255, nullable=true)
*/
private $photo;
/**
* @var integer
*
* @ORM\Column(name="updatecount", type="integer", nullable=true)
*/
private $updatecount;
希望这能完成要求的工作
public function upVoteAction(Request $request)
{
$intid = (int)$request->request->get('imageid'); //convert the request object to int
$em = $this->getContainer()->get('doctrine')->getManager();
$image = $em->getRepository('YourBundle:Image')->find($intid);
$image->setUpdatecount($image->getUpdatecount() + 1);
$em->persist($image);
$em->flush();
}
首先使用图像id从存储库
getRepository()
获取图像对象。然后通过增加现有值将updatecount
设置为setUpdatecount()
,是否只需要SQL?更新图像集updatecount=updatecount+1,其中id=1;不。我在symfony使用doctrine@Float你能展示你的模型吗?已经展示了我的模型如果你在控制器中,你不需要getContainer
。您已经可以通过implementsContainerWareInterface
访问<代码>$this->getDoctrine()…