我正在使用 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;