废话不多说直接上代码!!!强调一下我在这里是把业务逻辑写在了service层,controller只做校验,model只做查询。Phaclcon学习笔记(二)多条件搜索
这里涉及到了多条件搜索,也带了分页
Phaclcon学习笔记(二)多条件搜索
这里扩展两个方法,一个是接值转数组,一个是执行原声sql的,在Phalcon中,很多的封装好的方法,我们用的不习惯,再有就是Phalcon的多表联查很垃圾,所以我觉得还是写原声的sql文件比较好使。
一:转换数组:
public static function objToArray($obj)
{
jsonStr=self::jsonEncodeUnescapedUnicode(jsonStr = self::jsonEncodeUnescapedUnicode(obj);
return json_decode($jsonStr, true);
}

二:执行sql:
/**
* User: macL
* @return \Phalcon\Mvc\Model\Manager|\Phalcon\Mvc\Model\ManagerInterface
*/
static public function getModelsManager(){
$modelsManager = Di::getDefault()->get(‘modelsManager’);
return $modelsManager;
}
——————————————————————————————
$manager = DiUtil::getModelsManager();
$borrower = $manager->executeQuery(SysSqlConst::USER_LIST_SQL . " where $where", $condition);
我们在这里把sql写成常量文件这样可以让我们很快的去找到我们的sql文件,不用每个人都写一个,到时候修改会很麻烦,强调的一点就是我们在写sql的——表名,时要注意,我们写的不是直接的表名,而是他的model路径,放上一个例子感受一下:
const USER_LIST_SQL = ‘select u.id,u.phone,u.state,u.create_time,u.is_login,u.device,u.channels_code,c.name from Shared\Model\DB\DcUser as u left join Shared\Model\DB\DcChannels as c on u.id = c.id’;
Phaclcon学习笔记(二)多条件搜索
Phaclcon学习笔记(二)多条件搜索
具体的表名是这样的,其他的不影响我们的sql操作。

相关文章: