为了账号安全,请及时绑定邮箱和手机立即绑定

OctoberCMS 组件导致内存错误

OctoberCMS 组件导致内存错误

PHP
慕姐8265434 2021-10-15 10:11:25
我在 OctoberCMS 中制作了一个组件,它导致了内存错误。该组件只有一个非常简单的功能。我不知道为什么会导致这样的错误。我在 php.ini 中将 memory_limit 编辑为 1024M,但没有任何改变。组件文件<?phpnamespace Jiwon\Byapps\Components;use Cms\Classes\Page;use Cms\Classes\ComponentBase;use Exception;use Jiwon\Byapps\Models\Comment;class Comments extends ComponentBase{  public $comments;  public function componentDetails()  {      return [          'name'        => 'Comment List',          'description' => 'comment list'      ];  }  public function defineProperties()  {      return [          'display' => [              'title'       => 'number of the comments',              'description' => 'number of the comments list',              'default'     => 10,              'validationPattern' => '^[0-9]+$',              'validationMessage' => 'only number'          ],      ];  }  public function onRun()  {     $this->comments = $this->loadComments();  }  protected function loadComments() {     $query = Comment::all();     if ($this->property('display') > 0) {       $query = $query->take($this->property('display'));     }     return $query;  }}?>我把这个组件放在部分的一边,这个错误显示在每个页面中。允许的内存大小为 134217728 字节耗尽(尝试分配 8192 字节)/home/ljw/public_html/byapps_cms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php line 290
查看完整描述

1 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

我认为问题出在查询上,您正在尝试使用。试试这个而不是你的查询。


public function loadComments() {


 $query = Comment::query();


 if (!empty($this->property('display'))) {

   $query = $query->limit($this->property('display'));


 }


 $query = $query->get();

 return $query;

}

是的,当您试图从表中获取有限的项目时,请不要忘记设置 OrderBy(),以便您可以获得所需的结果。


查看完整回答
反对 回复 2021-10-15
  • 1 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信