检查id是否不存在做某事

时间:2017-05-26 23:20:15

标签: laravel-5 laravel-5.4 laravel-blade

我试图找出用户是否发送了朋友请求。如果用户没有发送任何请求,我想显示发送请求按钮。

所以我有一张叫做朋友的桌子

id
user_id
friend_id
reqs_status which can be 0,1,2

reqs_status = 0 meaning request already sent and waiting for approval
reqs_status = 1 meaning show Accept or Reject button
reqs_status = 2 meaning they are friends already
No row existing meaning not sent any request [show send request button]

If user A sends request to B. I create 2 rows one saying
user_id 1 sent a request to friend_id 2 with reqs_status as 0 and 
another as inverse user_id 2 got request from friend_id 1 with reqs_status as 1

这里reqs_status在屏幕上显示右侧按钮方面起着关键作用。喜欢:已经采取用户,朋友请求发送,发送请求,接受/拒绝按钮等。

现在我的数据看起来像:

[  
   {  
      "id":9,
      "firstname":"Hattie",
      "lastname":"Cropper",
      "email":"hgc3@org.uk",
      "role":1,
      "friends":[  
         {  
            "id":7,
            "user_id":8,
            "friend_id":9,
            "reqs_status":2,

         }
      ]
   },
   {  
      "id":21,
      "firstname":"Jon",
      "lastname":"Olson",
      "email":"jo185@org.uk",
      "role":1,
      "friends":[  
         {  
            "id":19,
            "user_id":20,
            "friend_id":21,
            "reqs_status":2,

         },
         {  
            "id":29,
            "user_id":23,
            "friend_id":21,
            "reqs_status":1,

         }
      ]
   },
   {  
      "id":24,
      "firstname":"Jessica",
      "lastname":"Jensen",
      "email":"jj61@org.uk",
      "role":1,
      "friends":[  
         {  
            "id":24,
            "user_id":25,
            "friend_id":24,
            "reqs_status":2,

         },
         {  
            "id":30,
            "user_id":23,
            "friend_id":24,
            "reqs_status":0,
         }
      ]
   }
]

如果没有发送请求,则表示朋友表中没有数据。

@foreach ($user['friends'] as $friend)
@if($friend['reqs_status'] == 0 && $friend['user_id'] == $myid)
//show button already sent
@elseif($friend['reqs_status'] == 1 && $friend['user_id'] == $myid)
//show accept reject button
@elseif ($friend['user_id']== '')
//show send request button
@endif
@endforeach

我不能做@else,因为有一些朋友,而且对于其他每个朋友都会有一个按钮。相反我想使用else如果检查朋友数组列表中是否不存在user_id然后显示发送请求按钮。如果我做$ friend ['user_id']!= $ myid这意味着如果一个用户有10个朋友而且我的id都不存在则会添加10个按钮而不是添加单个按钮我需要一个单独的动作没有。

以上条件:@elseif ($friend['user_id']== '')失败。我不知道如何比较首先不存在的东西:/

我希望你理解这个问题。如果不清楚,请在评论中告诉我,我会尽量在聊天中与您联系。

这个问题就足够了,如果在任何数组对象中找到匹配($ myid),它应该忽略数组中的其他对象,某种中断或跳过或继续但如果不匹配在整个数组中找到X事物就可以创建一个按钮。

1 个答案:

答案 0 :(得分:0)

嘿,您可以使用此代码来解决您的问题!

reload

如果您有任何疑问,请与我们联系!