【发布时间】:2012-05-22 12:26:58
【问题描述】:
我正在使用 ExpressionEngine 对网站进行一些更改,我似乎不太理解一个概念,并且可能正在编写具有预先提供的方法的解决方法。
特别是频道和会员,原作者添加了几个自定义字段。我来自传统的数据库背景,其中表中的每一列都有一个特定的有意义的名称。我也习惯于通过添加关联表和唯一键来扩展专有数据,同样,相关表中的字段名称是有意义的。
但是,在 EE 中,当您添加自定义字段时,它会在表中将它们创建为 field_id_x,并将一个条目放入另一个表中,告诉您这些是什么。
现在,从 UI 的角度来看,这一切都很好,可以为管理员提供权力,但在编写任何代码时,这都是一件令人头疼的事情。
好的,有模板标签,但我倾向于不使用它们,而且它们在数据库查询中也不好用。
有没有一种简单的方法来查询成员表,然后将 m_field_1 称为它的真正名称——在我的例子中是“addresslonglat”。
我正在处理的表中有几十个这样的字段,目前我用固定名称来处理它们,例如“m_field_id_73”,这意味着什么。
有人知道将数据及其字段名称轻松组合在一起的简单方法吗?
理想情况下,我想做以下事情:
$result = $this->EE->db->query("select * from exp_member_data where member_id = 123")->row();
echo $result->addresslonglat;
而不是
echo $result->m_field_id_73;
【问题讨论】:
标签: expressionengine custom-fields