そこで、私は zend アプリケーションで直面している問題の解決策を探しています。
私は自分のSQLでzf 1.12とphp 5.3を使用しています。
これがMy SQLで完全に実行されるMy Queryです
SELECT usermaster.*, (select count(projecttouser.u_id) from projecttouser where
usermaster.id=projecttouser.u_id ) as proj,
(select count(tasktotarget.assigned_to) from tasktotarget where
usermaster.id=tasktotarget.assigned_to ) as target,
(select count(tasktotarget.assigned_to) from tasktotarget where
usermaster.id=tasktotarget.assigned_to AND tasktotarget.is_active = 1 ) as active
from usermaster group by usermaster.id
それは私が望んでいた完璧な出力を与えますが、私のSQLでは
今私の問題は、そのクエリを zend フレーム環境クエリで変換する必要があることです。
これは私のSQL形式とは多少異なりますが、
私は次のように何かを試しました、
$psub=$this->select()
->setIntegrityCheck(false)
->from(array('p'=>'projecttouser'),array('count(p.u_id) as count'))
->join(array('i'=>'usermaster'),'p.u_id=i.id')
->where('i.id=p.u_id');
$tsub=$this->select()
->setIntegrityCheck(false)
->from(array('t'=>'tasktotarget'),array('count(t.assigned_to) as tcount'))
->where('usermaster.id=tasktotarget.assigned_to');
$tasub=$this->select()
->setIntegrityCheck(false)
->from(array('ta'=>'tasktotarget'),array('count(ta.assigned_to) as tacount'))
->where('usermaster.id=tasktotarget.assigned_to AND tasktotarget.is_active = 1 ');
$sql=$this->select()
->setIntegrityCheck(false)
->from(array('u'=>'usermaster',$psub,$tsub,$tasub))
->group('u.id')
->order($order_by . ' ' . $order)
->where('u.is_delete=false');
$resultSet = $this->fetchAll($sql);
return $resultSet;
だから、誰かが私が非常に役立つクエリを作成してフォーマットするのを手伝ってくれるなら