Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查是否有拉威尔的朋友_Php_Laravel_Relationships_Laravel 5.1 - Fatal编程技术网

Php 检查是否有拉威尔的朋友

Php 检查是否有拉威尔的朋友,php,laravel,relationships,laravel-5.1,Php,Laravel,Relationships,Laravel 5.1,如何检查Auth:user()是否是当前$user的朋友 这将被放置在配置文件上,以便显示添加好友按钮或挂起的请求等?我尝试过与其他方法和where子句建立关系,但仍然没有成功 请帮忙,非常感谢 要在这里继续,我需要以下内容: 我需要像这样的东西: where user1_id = $user->id AND user2_id = Auth::user() AND is_friend = 1 OR where user1_id = Auth::user() AND user2_id =

如何检查Auth:user()是否是当前$user的朋友

这将被放置在配置文件上,以便显示添加好友按钮或挂起的请求等?我尝试过与其他方法和where子句建立关系,但仍然没有成功

请帮忙,非常感谢

要在这里继续,我需要以下内容:

我需要像这样的东西:

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
这一切,通过拉威尔的雄辩

我遵循了这个教程 ()关于如何建立双向关系,我有以下几点:

数据库表

-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 App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use App\User;
use App\Friend;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

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);
    }
php模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Friend extends Model
{
    protected $table = 'friends';
}
试试这个:

$User = Auth::user();
$RequestedUser = User::find(Request::input('user_id'));

$Friendship = Friend::with('User')
              ->whereIn('user1_id', [$User->id, $RequestedUser->id])
              ->whereIn('user2_id', [$User->id, $RequestedUser->id])
              ->where('is_friend', '=', 1)
              ->first();

编辑:Using::input给了我一些错误,不得不使用find(5)作为用户示例id 5,它似乎不起作用,或者我不清楚我的请求,或者我不知道如何使用它,总之,我已经将它放在我的控制器上进行测试,但是,这不起作用,请您指导我好吗?还感谢您抽出时间!!!记住这是一种双向的友谊。谢谢你能在UserController中提供完整的操作代码吗?
$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', [$User->id, $RequestedUser->id])
              ->where('is_friend', '=', 1)
              ->first();