作个笔记,关联表的查询条件要写在with()之中

本文讨论了在PHP中使用with()方法关联表查询条件的实践,通过实例展示了如何利用$_GET参数动态设置查询条件,实现灵活的数据检索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 作个笔记,关联表的查询条件要写在with()之中

 

 

 

$condition = '';
if(isset($_GET['type']))
{
$condition = 'audit_by_unit='.intval($_GET['type']);
}
$model=new CActiveDataProvider('Enrollment', array(
'criteria'=>array(
'condition'=>$condition,
'order'=>'create_time DESC',
'with'=>array('exam'=>array('condition'=>'exam.audit_user_id='.Yii::app()->user->id)),
)
,
));
### 关于双向链接笔记与双点图的实现 #### 双向链接笔记的概念 双向链接笔记是一种基于连接的思想构建的知识管理系统。它允许用户创建文档之间的显式关联,使得每条信息都可以追溯其上下文关系。这种设计的核心在于两个节点之间可以相互引用并形成网络结构[^1]。 在技术层面,双向链接可以通过多种工具来实现。例如 Roam Research 是一种流行的双向链接笔记应用,支持自动检测和显示页面间的互连关系。Obsidian 和 Logseq 等开源软件也提供了类似的特性,并且更加灵活可定制化。 #### 实现方法 以下是几种常见的实现方式: 1. **Markdown 文件中的内部链接** 使用 Markdown 的语法,在文件中添加 `[描述](目标路径)` 形式的超链接指向其他文件或章节位置。当多个文件互相引用时便构成了一个简单的双向图谱。 2. **专用应用程序** 像 Obsidian 提供了强大的插件生态系统以及原生功能用于管理复杂的思维导图和个人数据库。这些程序能够扫描用户的本地存储库以发现潜在的关系链路从而自动生成可视化界面展示整体架构状况。 3. **编程语言模拟** 对于更高级的需求来说还可以利用 Python 编脚本来解析目录下的所有 .md 文档内容进而提取其中存在的交叉引用信息最后输出成图形化的形式便于查看理解整个知识体系布局情况如下所示: ```python import os from collections import defaultdict def parse_markdown_links(file_path): links = [] with open(file_path, 'r', encoding='utf-8') as f: lines = f.readlines() for line in lines: start = line.find('[') end = line.find(']') href_start = line.find('(') href_end = line.find(')') if start != -1 and end != -1 and href_start != -1 and href_end != -1: link_text = line[start+1:end] url = line[href_start+1:href_end] links.append((link_text, url)) return links def build_graph(root_dir): graph = defaultdict(list) for root, dirs, files in os.walk(root_dir): for file_name in files: if file_name.endswith('.md'): full_path = os.path.join(root, file_name) links = parse_markdown_links(full_path) node_id = os.path.relpath(full_path, root_dir).replace("\\", "/")[:-3] for _, target_url in links: neighbor_node = target_url.replace("./","").replace(".html","") if not neighbor_node.startswith("http"): graph[node_id].append(neighbor_node) return dict(graph) if __name__ == "__main__": g = build_graph('./notes') print(g) ``` 此代码片段展示了如何遍历指定文件夹内的 markdown 文件并将它们视为顶点,而文件内的相对 URL 超链接则为边构造成无权有向图的数据结构表示法以便后续进一步分析处理比如寻找最短距离或者强联通分量等问题解答等等[^4]. #### 工具推荐 对于希望快速上手的朋友而言可以直接选用现有的成熟产品而不必自己动手开发解决方案。这里列举几个备选方案供大家参考考虑: - **Roam Research**: 商业服务型平台专注于个人研究项目跟踪记录分享交流等功能于一体非常适合学术领域工者日常使用需求场景下操便捷友好度高; - **Obsidian**: 开源免费跨平台兼容性强具备丰富的社区贡献扩展包满足不同偏好习惯人群个性化设置要求; - **Logseq**: 类似 obsidian 支持 block level reference 特性强调逻辑推理过程透明清晰呈现效果出众特别适合程序员和技术爱好者群体采纳实践尝试体验一番价值非凡之处所在[^2]. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值