简单查询

2020-11-05  by  

架构定义

这是个全新的内容,PHPZlc在Symfony原有的ORM查询支持上,封装了一套传入简单规则即可查询的方法。你会迅速降低学习成本,并且喜欢上他。

语法

$userRepository = $this->getDoctrine()->getRepository('App:User');

//检查数据是否存在
$userRepository->isExist($rules = null, ResultSetMappingBuilder $resultSetMappingBuilder = null, $aliasChain = '');

//通过id查询,后面两个参数暂不支持
$userRepository->find($id, $lockMode = null, $lockVersion = null);

//查询一行数据, 参数1等同与$rules, 参数2不支持, 方法等同于findAssoc, 方便之处在于支持原生symfony的提示功能
$userRepository->findOneBy(array $criteria, array $orderBy = null);

//查询一行数据
$userRepository->findAssoc($rules = null, ResultSetMappingBuilder $resultSetMappingBuilder = null, $aliasChain = '');

//查询最后一条数据, 排序原则按id倒叙
$userRepository->findLastAssoc($rules = null, ResultSetMappingBuilder $resultSetMappingBuilder = null, $aliasChain = '');

//根据id和规则查询一条数据
$userRepository->findAssocById($id, $rules = null, ResultSetMappingBuilder $resultSetMappingBuilder = null, $aliasChain = '');

//symfony原生方法,phpzlc未干预,不建议使用
$userRepository->findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null);

//查询全部数据
$userRepository->findAll($rules = null, ResultSetMappingBuilder $resultSetMappingBuilder = null, $aliasChain = '');

//查询分页数据
$userRepository->findLimitAll($rows, $page = 1, $rules = null, ResultSetMappingBuilder $resultSetMappingBuilder = null, $aliasChain = '');

//查询总数
$userRepository->findCount($rules = null, ResultSetMappingBuilder $resultSetMappingBuilder = null, $aliasChain = '');

简单查询示例

$userRepository->findAssoc(['name' => '测试']);

$userRepository->findAssoc(['name' . Rule::RA_LIKE => '%'. $request->get('name') . '%',]);

关于规则和更多的使用方法,见高级查询

了解更多

Symfony4如何通过直接书写SQL控制数据库

找到错别字了?本文档有什么问题么?分叉并编辑 它 !

CJayhe

谢谢您的赞赏~

使用微信扫描二维码完成支付

抱歉弹框打扰,系统检测到您今日累计浏览时长已达120秒。如果我们的项目对您有帮助,在 关闭窗口之前,希望能够阅读弹框内容,帮助我们变得更好。

一个成功的项目,实现功能只是基础,合理的架构,对资源的调度能力才是灵魂。 PHPZlc, 致力于在Symfony的基础上提供“知行合一”的项目开发方案。

如果您有关切问题和好的想法:

提交

如果您想帮助我们,可以为我们点亮星星,也可以提供资金支持。

您还可以通过以下渠道,关注我们,获取最新的框架动态,帮助项目获取人气,扩大影响力。

开源伙伴招募:https://phpzlc.com/blog/11.html

由于我们无法获取您是否已经是我们的会员了,所以此弹框每日都会弹出一次,关闭