2016-04-27 6 views
1

ユーザーが別のユーザーをフォローしているときにユーザーをフォロワーテーブルに保存しようとしています。私は別のを追跡するために一人のユーザーを取得しようとすると、私は別のユーザーを追跡しようとするたびに私は、整数整数のfollow()を呼び出す

上のメンバ関数のフォローに

()の呼び出しを取得します。

フォローボタン/フォーム

{!! Form::open(['route' => 'follow_user']) !!} 

    {!! Form::hidden('id', $user->id) !!} 

    <button type="submit" class="btn btn-primary">Follow {{$user->name}}</button> 

{!! Form::close() !!} 

ルート

Route::post('/follow', [ 
    'as' => 'follow_user', 'uses' => '[email protected]' 
]); 

フォロワーコントローラ

public function store() 
{ 
    $user1 = Auth::user()->id;   
    $user2 = Input::get('id'); 
    $user1->follow($user2); 

    return redirect()->action('[email protected]'); 
} 

方法は、私が

function followers() 
{ 
    return $this->belongsToMany('App\User', 'followers', 'user_id', 'follower_id'); 
} 

function follow(User $user) { 
    $this->followers()->attach($user->id); 
} 

function unfollow(User $user) { 
    $this->followers()->detach($user->id); 
} 
+0

もう一度あなたのエラーは何ですか? –

+0

別のユーザーに従おうとするたびに、 '整数のメンバー関数'を呼び出しています。 – GarethFrazer

答えて

2

あなたは(あなたはおそらくしたいと)IDではなく、ユーザオブジェクト上follow()を実行しようとしているUserモデルに使用しています。

これは、整数を返します。修正のための@ blackpla9ueへ

$user1 = Auth::user();   
$user2 = Input::get('id'); 
$user1->follow(User::find($user2)); 

ありがとう:

$user1 = Auth::user()->id; 

たぶん、あなたはこのような何かをしたいです。

+0

これは私のために別のエラーを返します。 '引数1はApp \ User :: follow()に渡され、App \ Userのインスタンスでなければなりません。' – GarethFrazer

+1

最後の行は '$ user1-> follow(Auth :: find($ user2));' – blackpla9ue

+0

ですね。ありがとう、@ blackpla9ue –

関連する問題