# dedecms主附表如何嵌套调用方法

*Published:* 2023-11-30
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年11月30日，已超过 180天没有更新



**使用场景**

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

**解决方法**

> 后台核心设置 中开启 是否在arclist标记中包含附加表指定的字段 然后可以在arclist中直接用\[field:字段名/\]来调用
> 
> 调用语句主要是{arclist}，只要在设置中包含了附加表中的指定字段即可
> 
> 后台看了，发现v55没有这个选项，找到了下面这种方法，希望成功。

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

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

继续Google和baidu，找到了另外一个方法：

为了方便调用，arclist标签调用附加表字段不再以频道模型指定的字段为依据，调用时需注意下面两个问题：

a、必须指定 channelid (内容频道id);

b、直接在标记指定要调用的字段(可以在内容提模型管理中看这些字段名);

```
{dede:arclist addfields=’language,softtype’ row=’8′ channelid=’3′}
[field:textlink /] – [field:softtype /] – [field:language /]
{/dede:arclist}
```

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

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