Activerecord 获取当前模型中的数据。yii2

Activerecord 获取当前模型中的数据。yii2,activerecord,yii2,Activerecord,Yii2,无法从当前模型获取数据 class Category extends ActiveRecord { ....................................... ....... public function fields() { $fields = parent::fields(); $this->ParentCategory = static::find

无法从当前模型获取数据

     class Category extends ActiveRecord
        {
    .......................................
.......
            public function fields() {
              $fields = parent::fields();

              $this->ParentCategory = static::find()->all();

              $fields ['ParentCategory'] = 'ParentCategory';

              return $fields;

我需要获取所有记录,但我得到了“PHP致命错误”、“消息”:“超过了30秒的最长执行时间”。

因为您的数据非常庞大。) 您需要在php.ini中对此进行更改

max_execution_time = 1000

all()
”表示:“请从表中取出每一条记录并返回。我不认为这是你想要的,但你可能想澄清你的问题。但我需要从表格中获得每一条记录。我想我得到了递归或无限循环,那么你提到的错误就是它所说的,它可能无法在30秒内完成整个表的获取,这是PHP脚本允许运行的(默认)最大长度。您可以在php.ini中或通过
set\u time\u limit()
进行更改。没有更多的信息很难说更多,但是在DB-5或8中只有很少的记录。如果我在其他模型中编写这个函数,它将毫无问题地工作。但是当我试图从当前模型中获取记录时,我遇到了这个问题。由于
fields
函数用于返回模型表中的列列表,我认为它可能被ActiveQuery调用。所以很有可能您的
static::find()->all()
会返回到这个函数中,导致像您所说的那样的无休止的循环。注释掉该行,如果它是这样工作的,那么这就是问题所在。