php – Laravel – 友谊

php – Laravel – 友谊,第1张

概述我正试图在laravel 5中建立一个友谊系统而且我被困住了. 我有一个friends_user表,如下所示: > id > user_id > friend_id >状态 这是重点,我转到用户页面,我想知道我与这个用户的关系,4个解决方案: >我们是朋友 >我们不是 >他还没有接受这个请求 >我必须确认与否. 我想创建一个方法来检查用户是否是另一个用户的朋友,简单. 我有一个’status’列, 我正试图在laravel 5中建立一个友谊系统而且我被困住了.
我有一个frIEnds_user表,如下所示:

> ID
> user_ID
> frIEnd_ID
>状态

这是重点,我转到用户页面,我想知道我与这个用户的关系,4个解决方案:

>我们是朋友
>我们不是
>他还没有接受这个请求
>我必须确认与否.

我想创建一个方法来检查用户是否是另一个用户的朋友,简单.
我有一个’status’列,它是一个布尔值(0表示挂起,1表示朋友)
对我来说完美的解决方案是能够用一种方法检查是否:

>用户是朋友,所以要么(‘user_ID’,Auth :: user() – > ID) – >和(‘frIEnd_ID’,$frIEnd-> ID)或反向(‘user_ID’,$frIEnd – > ID) – >和(‘frIEnd_ID’,Auth :: user() – > ID),它必须检查2种感官
>我发出请求,必须等待他的回答
>我收到了请求,必须接受.
>我们不是朋友,所以,我可以加他.

所以如果你能告诉我这里我错在哪里,这是我的逻辑(仅用于检查用户是否是朋友):User.PHP

public function isFrIEnd($slug){    // Get both user    $user = Auth::user();    $receiver = User::where('slug',$slug)->first();    // get List of frIEnds (so who have status = 1)    $result = FrIEnds::where('status',1);    // Get users where user ID is equal to connected    $result = $result->where('user_ID',$user->ID)->where('frIEnd_ID',$receiver->ID);    $result = $result->orWhere('user_ID',$receiver->ID)->where('frIEnd_ID',$user->ID);    $result = $result->get();    if(count($result) == 0)        return false;    return true;}

在我看来,我做了这些检查.
这很有效,但是只有当我(当前用户)发送了请求但是如果它是反向的,即使状态为0,它也会返回给我用户.我认为我的$result擦掉了其他的不是吗?解决方案是什么?
我希望它很清楚,如果你能以干净的方式告诉我这是怎么做的,那就太好了.

这是一个常见的错误.小心你的“orWhere”条款.
public function isFrIEnd($slug){    // Get both user    $user = Auth::user();    $receiver = User::where('slug',$slug)->first();    // get List of frIEnds (so who have status = 1)    $result = FrIEnds::where('status',1)->where(function($query) use ($receiver,$user)    {        $query->where([            'user_ID'   => $user->ID,'frIEnd_ID' => $receiver_ID        ])->orWhere([            'user_ID'   => $receiver->ID,'frIEnd_ID' => $user->ID        ]);    })->get();    return ! $result->isEmpty();}
总结

以上是内存溢出为你收集整理的php – Laravel – 友谊全部内容,希望文章能够帮你解决php – Laravel – 友谊所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1268030.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存