Question

I'm going to write MySQL query like follow query in doctrine.

UPDATE vehicle a 
INNER JOIN vehicle b ON a.id = b.id 
SET a.total_view = b.total_view+1
WHERE a.id=1;

I tried in doctrine like follow. But it doesn't work. Is there any solution for that ?

$q = Doctrine_Query::create()        
     ->update('Vehicle v')
     ->innerJoin('v.Vehicle v2')
     ->set('v.total_view = v2.total_view+1')
     ->where('v.id = ?',$id);
     return $q->execute();
Was it helpful?

Solution

From what I recall in a past project, you just can't because it is not supported. You have to do it manually with native sql like this

Resources:

http://www.doctrine-project.org/jira/browse/DC-202

https://groups.google.com/forum/#!topic/doctrine-user/H0-EcZXyrek

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top