Laravel 5 Laravel getStream-如何跟踪或向公司添加活动(非用户)

Laravel 5 Laravel getStream-如何跟踪或向公司添加活动(非用户),laravel-5,getstream-io,Laravel 5,Getstream Io,我正在创建的应用程序需要关注公司,而不是用户。让公司有自己的活动。这是如何在Laravel getStream中配置的。这些提要似乎只针对用户类型 timelineFeed = FeedManager::getNewsFeed($user->id)['timeline']; $aggregatedTimelineFeed = FeedManager::getNewsFeed($user->id)['timeline_aggregated']; 我拥有的示例模型如下: namespa

我正在创建的应用程序需要关注公司,而不是用户。让公司有自己的活动。这是如何在Laravel getStream中配置的。这些提要似乎只针对用户类型

timelineFeed = FeedManager::getNewsFeed($user->id)['timeline'];
$aggregatedTimelineFeed = FeedManager::getNewsFeed($user->id)['timeline_aggregated'];
我拥有的示例模型如下:
namespace App;

use Illuminate\Database\Eloquent\Model;

class CompanyPost extends Model
{
    use \GetStream\StreamLaravel\Eloquent\ActivityTrait;

    public function company()
    {
        return $this->belongsTo('App\Company', 'company_id', 'id');
    }

    public function activityVerb()
    {
        return 'company_post';
    }

    public function activityActorMethodName()
    {
        return 'company';
    }
}
但是我注意到提要仍然保存在用户活动中,而不是公司活动中

提前感谢各位。

我们的项目有一些关于如何更改模型的文档

class Pin extends Eloquent {
use GetStream\StreamLaravel\Eloquent\ActivityTrait;

public function author()
{
    return $this->belongsTo('Author');
}

public function activityActorMethodName()
{
    return 'author';
}
至于让志愿者跟随公司和用户,我们主要有一些文档


(编辑以删除我错误的github参考资料)

Ian在他与github问题的链接中似乎把你和我搞混了,这篇文章引起了我的注意

这仍然显示在用户提要上的原因是,这不是一个可配置的选项,至少在逐案(或逐模型)级别上是如此。您可以覆盖Stream Laravel在主配置中用作“用户提要”的内容,但据我所知,您无法发布到活动登录用户的提要,除非您自己使用Stream PHP libs构建功能,并且避免使用Stream Laravel Activity trait

您可以从StreamLaravelManager.php的第73行开始看到创建活动时发生了什么

public function activityCreated($instance)
{
    $activity = $instance->createActivity();
    $feed = $this->getFeed($this->userFeed, $instance->activityActorId());
    $feed->addActivity($activity);
} 
不幸的是,“$this->userFeed”最终是从配置文件中提取出来的,我认为没有办法覆盖它

就我个人而言,我在创建“like”功能时遇到了这种情况。我真的不想让人们在他们的时间表上看到每个人都“喜欢”什么,因为大部分都是不相关的,而且会很快变得杂乱无章,所以我甚至没有创建一个“喜欢”的活动。相反,我只是在有人喜欢他们的东西时才将其添加到用户通知提要中。当然,这可能不是每个人都想要的处理方式,但我注意到你的屏幕截图中有“喜欢”的活动,所以我想我会提到它


祝你的应用程序好运

很抱歉回复晚了。我成功地跟踪了一家公司 饲料组: 公司持平

下面的示例代码如下所示:

$feed = FeedManager::getClient()->feed('timeline', $user->id);
$feed->followFeed('company', $companyId);
展开以下内容:

$feed->unfollowFeed('company', $companyId);
添加活动:

$companyFeed = FeedManager::getClient()->feed('company', $company->id);
$companyFeed->addActivity([
    "actor"      => "App\Company:{$company->id}",
    "verb"       => "company_post",
    "object"     => "App\CompanyPost:{$post->id}",
    "foreign_id" => "App\CompanyPost:{$post->id}"
]);

很好的观察到需要配置多个可能与用户无关的模型。我仍然很困惑,我已经重新阅读了你的文章和自述文件的链接。我知道我可以更改activityActorMethodName,使参与者是公司而不是用户,但我如何跟踪公司?follow user方法不允许您更改模型类型,它只允许follow of users?