首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yii中的元表模型

Yii中的元表模型
EN

Stack Overflow用户
提问于 2011-06-24 10:13:49
回答 3查看 720关注 0票数 1

我刚开始在Yii中开发我的新项目,我对Yii以及框架和MVC结构都很陌生。

我想得到一些关于为该表制作元表和模型的建议。假设我喜欢为一个用户存储几个聊天句柄。我创建了一个表来存储用户详细信息,如user_id、user_name、email。和另一个表,它是我的元表,具有结构id、user_id、key、value

我想将这两个表关联到一个模型中,这样我就可以访问存储在元表中的键的值,比如$user->yahoo。

提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-20 11:42:17

只需为元表和主表创建一个模型。然后,如果您与此表有一个model键关系,您将能够将元表模型作为主表的一个属性访问。为了更清楚地说明:

假设我们有两张桌子:

客户-id -name -address -name -email

customer_meta -id -customer_id -meta_key -meta_value

您将使用Gii为这两个表生成两个模型。然后,如果您使用MySQL和InnoDB表并在customer.id -> customer_meta.customer_id之间创建一个foriegn密钥关系,您将能够访问客户模型中的元数据:

代码语言:javascript
复制
// this will echo get the first meta value
$model = new customer;
$customer = $model->loadModel( 3 );
echo $customer->customer_meta[0]->meta_value;

// or loop through the meta data
foreach( $customer->customer_meta as $meta ) {

   echo 'Name: '.$meta->meta_key.' Value: '.$meta->meta_key.'<br />';
}
票数 0
EN

Stack Overflow用户

发布于 2011-06-24 16:45:57

请参阅:http://www.yiiframework.com/doc/guide/1.1/en/database.arr

它向您介绍了一个与您想要做的类似的基本示例。请注意,如果使用外键设置数据库,则Gii工具将在模型中为您创建此关系。如果您正在使用MySql、MySqlWorkbench或其他类似工具,可以帮助您管理外键,您只需确保您使用的是InnoDB类型表。

票数 0
EN

Stack Overflow用户

发布于 2011-06-24 11:22:52

使用getter和setter。定义一个getYahoo方法,并在该方法中执行去查找表来检索所需的值

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6466384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档