dedecms主从表 附加表 同时调用

简介:

一般来说,有两种调用的情况(这里讨论的主要是首页,或者列表页调用,内容调用不存在这种问题)

1,你建立了一个自定义模型,但是有一些字段,比如图片字段,依然在主表中(这种时候,你自己建立模型中最好不要在重复包含主表中的字段了,否则容易引起混乱),这样,那么你的主要目标在附件表中:

解决方法:

后台核心设置 中开启 是否在arclist标记中包含附加表指定的字段 然后可以在arclist中直接用[field:字段名/]来调用

调用语句主要是{arclist},只要在设置中包含了附加表中的指定字段即可

shooooot,后台看了,发现v55没有这个选项,继续找到了下面这种方法:希望成功

将需要调用的字段,换成如下格式放在arclist标签内即可.

[field:id runphp="yes"]
$dsql = new DedeSql(false);
$a=”SELECT mb5u.新增字段名 FROM dede_附加表名 as mb5u where mb5u.aid=@me”;
$arcRow = $dsql->GetOne($a);
@me=”.$arcRow[新增字段名].”;
[/field:id]

先说不种方法好不好,想了一下,效率实在成问题,我只是想调用主表中的一个image字段,剩下所有字段都在附加表中,如果用这样的格式,可想有多复杂!

继续google和baidu,找到了另外一个方法:

为了方便调用,arclist标签调用附加表字段不再以频道模型指定的字段为依据,调用时需注意下面两个问题:
a、必须指定 channelid (内容频道id);
b、直接在标记指定要调用的字段(可以在内容提模型管理中看这些字段名);
{dede:arclist addfields=’language,softtype’ row=’8′ channelid=’3′}
[field:textlink /] – [field:softtype /] – [field:language /]<br />
{/dede:arclist}

2,你的主要目标在附件表中,比如,你调用的字段完全来自附加表,则可以使用如下语句:

{dede:sql sql=”SELECT url_bbs,url_product,price_eng,intro,image FROM dede_addon_saleproduct”}
<li><a href=”[field:arcurl/]“>[field:image/]<span>[field:intro/]</span></a>
<div><a href=”[field:url_bbs/]“>美国商品地址</a><a href=”[field:bbs_product/]“>论坛讨论</a>成本价:[field:price_eng/]刀< /div>
</li>
{/dede:sql}

{dede:sql sql=”SELECT url_bbs,url_product,price_eng,intro,image FROM dede_addon_saleproduct”}<li><a href=”[field:arcurl/]“>[field:image/]<span>[field:intro/]</span></a><div><a href=”[field:url_bbs/]“>美国商品地址</a><a href=”[field:bbs_product/]“>论坛讨论</a>成本价:[field:price_eng/]刀< /div></li>{/dede:sql}

完毕,怕自己忘了,赶紧记录下来,希望也能帮助到有需要的朋友





本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2011/04/24/2026564.html,如需转载请自行联系原作者
相关文章
|
2月前
|
缓存 数据库 数据安全/隐私保护
Discuz! X 数据库字典详解:DZ各数据表作用及字段含义
我们使用DISCUZ做网站时,有时需要对数据表进行操作,在操作数据表之前,需要对数据表进行了解。下面是DISCUZ 数据库各数据表作用及字段含义详解,方便新手更好的了解DISCUZ数据库。
53 4
|
5月前
|
存储 SQL 缓存
MySQL设计规约问题之为什么要将大字段、访问频率低的字段拆分到单独的表中存储
MySQL设计规约问题之为什么要将大字段、访问频率低的字段拆分到单独的表中存储
|
7月前
|
存储 Oracle 关系型数据库
PostgreSQL 清理表字段的备注脚本
PostgreSQL 清理表字段的备注脚本
|
数据库
Discuz模板中调用数据库的某个字段的方法
Discuz模板中调用数据库的某个字段的方法
100 0
|
SQL 关系型数据库 MySQL
MySQL基础-表操作~修改数据
修改数据的具体语法为: UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , .... [ WHERE 条件 ] ;
147 0
|
关系型数据库 MySQL
Navicat连接mycat 不能提示字段 以及已有表刷新不出来
Navicat连接mycat 不能提示字段 以及已有表刷新不出来
Navicat连接mycat 不能提示字段 以及已有表刷新不出来
|
数据库
【TP5】根据数据库字段注释使用同一模板进行增删查(1)
【TP5】根据数据库字段注释使用同一模板进行增删查
165 0
【TP5】根据数据库字段注释使用同一模板进行增删查(1)
|
数据库
【TP5】根据数据库字段注释使用同一模板进行增删查(2)
【TP5】根据数据库字段注释使用同一模板进行增删查
119 0
【TP5】根据数据库字段注释使用同一模板进行增删查(2)
|
存储 SQL JSON
如何不改表结构动态扩展字段?
痛点 软件行业唯一不变的就是变化,比如功能上线之后,客户或 PM 需要对已有的功能增加一些合理的需求,完成这些工作必须通过添加字段解决,或者某些功能的实现需要通过增加字段来降低实现的复杂性等等。
743 0
如何不改表结构动态扩展字段?
|
数据库
Oralce 数据库 - 查询数据库所有的表和视图实例演示,查询指定用户下所有表和视图方法
Oralce 数据库 - 查询数据库所有的表和视图实例演示,查询指定用户下所有表和视图方法
331 0
Oralce 数据库 - 查询数据库所有的表和视图实例演示,查询指定用户下所有表和视图方法