php – 检查laravel中的朋友
发布时间:2020-12-14 19:36:49 所属栏目:大数据 来源:网络整理
导读:如何检查,如果Auth:user()是当前$user的朋友? 这将放在配置文件上,以显示添加好友按钮或待处理请求等?我尝试过,与其他方法和条款的关系,但仍然没有成功. 请帮忙,非常感谢!! 要在这里继续,我需要这样的事情: 我需要这样的东西: where user1_id = $user-i
|
如何检查,如果Auth:user()是当前$user的朋友?
这将放在配置文件上,以显示添加好友按钮或待处理请求等?我尝试过,与其他方法和条款的关系,但仍然没有成功. 请帮忙,非常感谢!! 要在这里继续,我需要这样的事情: 我需要这样的东西: where user1_id = $user->id AND user2_id = Auth::user() AND is_friend = 1 OR where user1_id = Auth::user() AND user2_id = $user->id AND is_friend = 1 所有这些,通过laravel雄辩? 我已经按照本教程 数据库表 -users table- id username age -friends table- id ->increments user1_id ->reference->users.id user2_id ->reference->users.id is_accepted - return bool true or false,1 or 0 UserController.php <?php
namespace AppHttpControllers;
use IlluminateSupportFacadesAuth;
use AppUser;
use AppFriend;
use IlluminateHttpRequest;
use IlluminateSupportFacadesDB;
use AppHttpRequests;
use AppHttpControllersController;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return Response
*/
public function getIndex($user)
{
$relation = User::with('friendsOfMine','friendOf','profileComments')
->where('username',$user);
$user = User::findOrNew($user)
->where('username',$user)
->first();
return view('users.profile')
->with('amigos',$relation)
->with('user',$user);
}
型号User.php //friendship i've started
function friendsOfMine()
{
return $this->belongsToMany('AppUser','friends','user1_id','user2_id')
->wherePivot('is_friend','=',1) // to filter only accepted
->withPivot('is_friend'); // or to fetch accepted value
}
// friendship that I was invited to
function friendOf()
{
return $this->belongsToMany('AppUser','user2_id','user1_id')
->wherePivot('is_friend',1)
->withPivot('is_friend');
}
// accessor allowing you call $user->friends
public function getFriendsAttribute()
{
if ( ! array_key_exists('friends',$this->relations)) $this->loadFriends();
return $this->getRelation('friends');
}
protected function loadFriends()
{
if ( ! array_key_exists('friends',$this->relations))
{
$friends = $this->mergeFriends();
$this->setRelation('friends',$friends);
}
}
protected function mergeFriends()
{
return $this->friendsOfMine->merge($this->friendOf);
}
Friend.php模型 <?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Friend extends Model
{
protected $table = 'friends';
}
我试过了 $friendsAll = Friends::with('User')
->where('user1_id',$user)
->orWhere('user2_id',$user)
->first();
解决方法
试试这个:
$User = Auth::user();
$RequestedUser = User::find(Request::input('user_id'));
$Friendship = Friend::with('User')
->whereIn('user1_id',[$User->id,$RequestedUser->id])
->whereIn('user2_id',$RequestedUser->id])
->where('is_friend',1)
->first();
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
