2

我对以下主题有真正的问题:

我正在使用 Yii 框架创建一个社交网络,并为每个用户生成一堆以用户 ID 开头的 DB 表,因此 DB 表如下所示:13_my_firends。

关键是这样做,我无法使用gii工具生成某个模型,我确实需要一些模型来为这个表建立一些关系以避免内部连接,所以我猜问题是这样的:

-> 如何使用 php 或 Yii 代码创建模型文件,并且在该代码中更改“公共函数关系(){}”方法以添加我的关系?

编辑:

我只是在想这个:是否有可能将关系添加到父母而不是儿子?我的意思是......我可以改变主数据库表(在我的情况下女巫是 sys_accounts - 这个有一个模型),例如: -> 在另一种方法中调用关系()方法 -> 制作关系数组(有点喜欢加入)

所以基本上它就像......只在我想要的时候改变关系()方法。是否可以?如果是这样,怎么办?

4

1 回答 1

4

您可以自定义gii工具并使其动态生成模型,例如

Yii::app()->getModule('ssgii')->SSGenModel($dynamictableName, $dynamicModelName);

public function SSGenModel($tableName, $modelName){
        $_ccodeGen = $this->controllerMap;

        $ccodeGen = new CCodeGenerator('', null);

        $ccodeGen->codeModel = 'ssgii.generators.model.ModelCode';

        $model=$ccodeGen->ssAutoGenModel($tableName, $modelName);
        return ($model);

    }

仍然需要更多更新才能使其正常工作。但从我读到的你的要求来看,它似乎不符合你的需要。

你已经期望很多东西来动态化你的关系,而 Yii 提供的东西似乎更必要,你应该了解模板知识。我可以建议帮助开发人员构建自己的模板源代码的生成器工具,然后您可以阅读您的数据库结构和架构等,并制作您需要的任何模型模板。

http://www.codesmithtools.com/product/generator

我在 .NET 和 SQL SERVER 中使用过这个工具,但它也支持 PHP 和 MYSQL

http://community.codesmithtools.com/support_forums/f/3/p/11630/44588.aspx

Codesmith 教程编写模板

于 2013-08-09T10:57:53.823 回答