我试图找到用户是否发送了一个朋友请求或不。如果用户没有发送任何请求,我想显示发送请求按钮。做一个检查,如果ID不存在做某事
所以我有一个表叫朋友
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":"[email protected]",
"role":1,
"friends":[
{
"id":7,
"user_id":8,
"friend_id":9,
"reqs_status":2,
}
]
},
{
"id":21,
"firstname":"Jon",
"lastname":"Olson",
"email":"[email protected]",
"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":"[email protected]",
"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
因为有朋友和每个那些其他朋友阵列会有button.Instead我想用ELSEIF 检查,如果USER_ID不以朋友数组列表存在,那么我不能做@else显示发送请求按钮。如果我做$朋友['user_id']!= $ myid,这意味着如果一个用户有10个朋友,并在没有我的ID存在,它会添加10个按钮,而不是添加单个按钮我需要一个单一的行动,
以上条件:@elseif ($friend['user_id']== '')
失败。我不知道如何比较一些不存在的东西:/
我希望你能理解这个问题。如果不清楚,请在评论中告知我,我会尽量在聊天中尽可能与您清楚。
如果在数组对象中发现匹配($ myid),它应该忽略数组中的其他对象,某种中断或跳过或继续,但如果没有在整个阵列中找到匹配做X的事情,这将是创建一个单一的按钮。
我用你的代码建议,但开关案例代码似乎在屏幕上打印和刀片引擎似乎并没有抓住 –