php - Laravel 中的用户关注系统

标签 php mysql laravel eloquent laravel-5

我正在学习 laravel atm 并尝试实现 Twitter 风格的关注者提要。 到目前为止,我有以下内容

标准用户表(id、用户名等)

包含 user_id、subscriber_id、时间戳的订阅(又名关注者)表

我的用户模型包含以下关系

public function subscriptions()
{
    return $this->belongsToMany('App\User', 'subscriptions', 'user_id', 'subscriber_id')->withTimestamps();
}
    

    public function subscribers()
{
    return $this->belongsToMany('App\User', 'subscriptions', 'subscriber_id', 'user_id')->withTimestamps();
}

我现在正在尝试加载用户订阅列表 IE。用户14关注用户15

$subscriber = Auth::user()->id;
    
        
        $user = User::find($subscriber);
        
        
        $userids = $user->subscriptions->lists('user_id');

        return $userids;

我使用这段代码来获取当前登录的用户并找到他们的订阅。 $userids 应该返回当前登录用户订阅的 ID 列表。但是,尽管数据库中存在记录,但它只会生成一个空数组。 (它应该返回 15,但只返回 [] )

我是不是哪里出错了或者错过了什么?

最佳答案

使用以下方法获取当前用户的订阅者:

$subscribers = Auth::user()->subscribers;

并且您可以将订阅者发送到任何 View 和使用

@foreach ($subscribers as subscriber)
   {{ $subscriber->name }}
@endforeach

关于php - Laravel 中的用户关注系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29679931/

相关文章:

php - 如何将两个 SQL 查询的结果合并为一个

php - 从 YouTube 视频中提取自动字幕

java - 大约 10-20 分钟不活动后,与 mysql 服务器的 JDBC 连接失败

php - 在 zend 框架中构建搜索查询

php - 在 Laravel 关系中显示一对一关系的 VIEW

php - Laravel artisan 优化最佳实践

php - 如何在亚马逊网络服务器中迁移已部署的 laravel 项目

mysql - 使用带有 angular-cli 的 Sequelize 时找不到模块错误

php - Laravel 在 Blade 中获取文件扩展名

php - 为什么 MySQL 选择日期对于不同的月份不起作用