【问题标题】:October CMS: User extended module throw an error十月 CMS:用户扩展模块抛出错误
【发布时间】:2020-12-14 05:16:59
【问题描述】:

我已安装 OCtoberCMS,并使用User Extended plugin 制作个人资料页面。

当我尝试使用组件来显示好友请求时,页面会抛出一个错误

调用数组上的成员函数take()

函数如下:

public static function listReceivedFriendRequests($limit = 5)
{
    $users = new Collection();
    
    $limit = Helpers::unlimited($limit);
    
    $requests = Friend::friendRequests()->take($limit);
    
    foreach ($requests as $user) {
        $users->push(UserUtil::getRainlabUser($user->user_that_sent_request));
    }
    return $users;
}

当用户没有好友请求时会发生这种情况。 Onece 如果他们有朋友请求此错误不再显示。我该如何解决?

【问题讨论】:

  • 可能因为没有值friendRequests() 静态函数初始化一个空数组并传递给它,因此出现此错误,尝试执行dd(Friend::friendRequests()) 以查看当用户从未有好友请求时里面的内容
  • @bhucho 当我尝试此操作时,会在之前有好友请求的用户上显示 Collection {#1653 ▼ #items: [] } 但在页面上会抛出错误只是[]

标签: php laravel octobercms octobercms-plugins


【解决方案1】:

我刚刚进行了测试并进行了一些更改。现在工作很好,但不知道这是不是最好的方法:D

     public static function listReceivedFriendRequests($limit = 5)
    {
        $users = new Collection();

        $limit = Helpers::unlimited($limit);

$requests = Friend::friendRequests();
        if(!empty($requests))
        {
            $requests = Friend::friendRequests()->take($limit);
        }
         

        foreach ($requests as $user) {
            $users->push(UserUtil::getRainlabUser($user->user_that_sent_request));
        }
        return $users;
    }

【讨论】:

    猜你喜欢
    • 2018-12-06
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 2017-06-01
    • 2017-11-06
    • 1970-01-01
    相关资源
    最近更新 更多