$subSystemId = '0001';
$userModulePrivilligesModel = M ( "VFrwkYonghmkqx" );
$userModulePrivilliges =
$userModulePrivilligesModel
->where(array('YHID' => '0002','ZXTID'=>$subSystemId))
->field( "zxtid,zxtmc,mkzid,mkzmc,mkid,mkmc,mkbsurl,mkcsurl" )
->order ( 'mkzxh, mkxh asc' )
->select ();V_FRWK_YONGHMKQX是一张视图,这样写的话,WHERE条件无效。生成的语句是:SELECT * FROM (SELECT thinkphp.*, rownum AS numrow FROM (SELECT zxtid,zxtmc,mkzid,mkzmc,mkid,mkmc,mkbsurl,mkcsurl FROM v_frwk_yonghmkqx ORDER BY mkzxh, mkxh asc) thinkphp ) 1、丢失了WHERE条件;2、为什么生成的SQL语句还带嵌套?!
另外,每次查询之前,都需要获得表的列定义,这附加的操作纯属浪费性能,一点儿屁用没有。
最佳答案