【问题标题】:In laravel, I am getting the view of current user as a follower of itself instead of followers在 laravel 中,我将当前用户视为自己的追随者,而不是追随者
【发布时间】:2016-06-30 18:45:54
【问题描述】:

在数据库中我有以下结构

编号 | following_id | follow_id 1 | 3 | 1 2 | 2 | 1

我有用户模型,它看起来像这样

公共函数 userFollows() { return $this->belongsToMany('Diskourse\Models\User','followers','following_id','followed_id');

}

public function userIsFollowed()
{
    return $this->belongsToMany('Diskourse\Models\User','followers','followed_id','following_id');
}

public function followers()
{
   return $this->userIsFollowed->merge($this->userFollows);
}

最后的视图看起来像这样

<h4>Followers</h4> @if(!$user->followers()->count()) <p>No followers</p> @endif @foreach($user->followers() as $follower) @include('user/partials/userblock') @endforeach </div> </div>

如果它正常工作,它应该将用户 3 和 2 显示为 1 的追随者。相反,当前用户配置文件块显示两次。请帮忙!!!!

【问题讨论】:

    标签: laravel-5


    【解决方案1】:

    userblock 部分是否在寻找变量 $user?因为那仍然设置为当前用户。我会用这个:

    @each('user.partials.userblock', $user->userFollows, 'user')
    

    这将为每个关注者重复userblock 视图,将关注者作为$user 传入

    【讨论】:

    • 在使用 $user->followers 作为 $follower 时出现“关系方法必须返回类型对象”的错误
    • 为什么要在followers() 关系中合并关注者和 userIsFollowed 集合?好的,请参阅编辑,我不太了解您的关系,使用 userFollows 应该可以工作
    • 好的,我已经修改了从上面到这个公共函数的关系followers() { return $this->belongsToMany('Diskourse\Models\User', 'followers', 'follow_id', 'user_id') ->获取(); } 我仍然面临同样的问题
    • 请发'user/partials/userblock'的代码
    • &lt;div class="media"&gt; &lt;div class="media-left"&gt; &lt;a href="{{ route('profile.index', ['username' =&gt; $user-&gt;username]) }}"&gt; &lt;img class="media-object" src="{{ $user-&gt;getAvatarUrl() }}" alt="{{ $user-&gt;getNameOrUsername() }}"&gt; &lt;/a&gt; &lt;/div&gt; &lt;div class="media-body"&gt; &lt;h4 class="media-heading"&gt;&lt;a href="{{ route('profile.index', ['username' =&gt; $user-&gt;username]}}"&gt;{{ $user-&gt;getNameOrUsername() }}&lt;/a&gt;&lt;/h4&gt; @if($user-&gt;location) {{ $user-&gt;location}} @endif &lt;/div&gt; &lt;/div&gt;
    猜你喜欢
    • 1970-01-01
    • 2017-12-08
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 2011-09-07
    • 2021-10-09
    • 1970-01-01
    相关资源
    最近更新 更多