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()
会返回到这个函数中,导致像您所说的那样的无休止的循环。注释掉该行,如果它是这样工作的,那么这就是问题所在。