脚本宝典收集整理的这篇文章主要介绍了zend-framework2 – 如何使用多个on子句加入zend框架2,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
SELECT jobs . *,c.id AS cid,c.name AS name,c.COMpanyImage AS companyImage,c.logo AS logo,count(app.userId) AS t_app,app.applystatus AS applyStatus,app.userId AS appUserId From jobs LEFT JOIN companies AS c ON jobs.companyName = c.id LEFT JOIN applicants AS app ON jobs.id = app.jobId AND app.applyStatus = 1 WHERE jobs.ownerId = 16 AND jobs.draftId != 0 group by jobs.id ORDER BY jobs.id DESC LIMIT 3
$adapter = $this->tableGateway->getAdapter(); $sql = new sql($adapter); $select = $sql->select(); $select->from('jobs') ->join(array('c' => 'companies'),'jobs.companyName = c.id',array('cid' => 'id','name','companyImage','logo'),'left') ->join(array('app' => 'applicants'),' jobs.id = app.jobId AND app.applyStatus = 1',array('t_app' => new ExPression('count(app.userId)'),'applyStatus','appUserId' => 'userId'),'left') ->where("jobs.ownerId ={$userId} AND jobs.draftId != 0") ->group('jobs.id') ->order('jobs.id DESC') ->limit(3); $statement = $sql->getsqlStringForsqlObject($select); $results = $adapter->query($statement,$adapter::QUERY_MODE_EXECUTE);
但不能正常工作,并发出如下的信息.
sqlSTATE[42S22]: Column not found: 1054 UnkNown column '1' in 'on clause'
app.applyStatus = 1
框架转义为1,就像它是列名一样.
您也需要将此部分包含在表达式中
new ExPRession('jobs.id = app.jobId AND app.applyStatus = 1')
以上是脚本宝典为你收集整理的zend-framework2 – 如何使用多个on子句加入zend框架2全部内容,希望文章能够帮你解决zend-framework2 – 如何使用多个on子句加入zend框架2所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。