gpt4 book ai didi

php - OctoberCMS组件导致内存错误

转载 作者:行者123 更新时间:2023-11-29 07:19:26 26 4
gpt4 key购买 nike

我在 OctoberCMS 中制作了一个组件,它导致内存错误。该组件只有一个非常简单的功能。我不知道为什么会导致这样的错误。

我在 php.ini 中将 memory_limit 修改为 1024M,但没有任何改变。

组件文件

<?php
namespace 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;
}
}
?>

我把这个组件放在 partials 的旁边,这个错误显示在每个页面上。

Allowed memory size of 134217728 bytes exhausted (tried to allocate 8192 bytes) /home/ljw/public_html/byapps_cms/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php line 290

注释模型文件

<?php namespace Jiwon\Byapps\Models;

use Model;

class Comment extends Model
{
use \October\Rain\Database\Traits\Validation;

public $timestamps = false;

public $connection = 'byapps';
public $table = 'BYAPPS_comment_data';
}

最佳答案

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

public function loadComments() {

$query = Comment::query();

if (!empty($this->property('display'))) {
$query = $query->limit($this->property('display'));

}

$query = $query->get();
return $query;
}

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

关于php - OctoberCMS组件导致内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57068902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com