Laravel 5 Laravel getStream-如何跟踪或向公司添加活动(非用户)
我正在创建的应用程序需要关注公司,而不是用户。让公司有自己的活动。这是如何在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
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?