sách gpt4 ai đã đi

yii - 如何在 Yii 中扩展 activeRecord 模型

In lại 作者:行者123 更新时间:2023-12-04 05:36:56 25 4
mua khóa gpt4 Nike

我正在尝试在 Yii 中创建一个分页的表单。每个页面用于一组字段。我认为最好的方法是扩展 ActiveRecord 模型并为当前页面添加一个参数。这也允许我用我自己的表单规则覆盖 rules() 方法。

我的问题是,Yii 不允许我们本地扩展模型。我不得不重写 getMetaData() 方法,因为 Yii 在自身上运行 self::model(get_class($this)) ,这最终破坏了一切。

不仅如此,我还不能使用 findByPk,因为 Yii 严重依赖于类名。

我知道有很多变通办法来完成这项工作,但我想知道我是否遗漏了什么。

谢谢,

凯尔

——编辑——

我完全想通了,我完全觉得自己很愚蠢。我所要做的就是覆盖 model() 方法以返回当前模型类。

所以:

class MyAr extends CActiveRecord {
public static function model($class = __CLASS__){return parent::model($class);}
}

class ExtendedForm extends MyAr {
public static function model($class = __CLASS__){return parent::model($class);}
}

是的……我觉得自己很傻。

1 Câu trả lời

要扩展 ActiveRecord 模型,只需扩展它!您需要做的就是覆盖模型方法:

class MyAr extends CActiveRecord {
public static function model($class = __CLASS__){return parent::model($class);}
}

class ExtendedForm extends MyAr {
public static function model($class = __CLASS__){return parent::model($class);}
}

关于yii - 如何在 Yii 中扩展 activeRecord 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11813788/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com