0

Laravel を使用してソーシャル メディア プロジェクトを開発しています。フォローとフォロワー用にカスタマイズされた API を提供する必要があります。したがって、ユーザーテーブルとフォロワーおよびフォローされているテーブルの間に関係を確立したいと思います。私は多くのリソースを見てきましたが、混乱しています。誰かが私との関係を助けてくれますか?

モデル

ユーザー: ID、ユーザー名、電子メール、パスワード

フォロー: id, user_id, follow_id(user_id)

フォロワー: id、user_id、follower_id(user_id)

API URL: http://localhost/api/follows/user_id/1

フォローコントローラー

public function user_follow($user_id)
{
    $user_find = Follows::where("user_id", "=", $user_id)->get();
    
    return response()->json($user_find, 201);
}

出力

[
  {
    "id": 4,
    "user_id": 1,
    "follow_id": 4,
    "created_at": "2020-03-23T15:11:48.000000Z",
    "updated_at": "2020-12-11T11:10:10.000000Z"
  },
  {
    "id": 5,
    "user_id": 1,
    "follow_id": 1,
    "created_at": "2012-08-30T20:16:51.000000Z",
    "updated_at": "2020-12-11T11:10:10.000000Z"
  }
]

ユーザーのリクエストに応じて、関連するフォローされた人を連れてくる API。しかし、ここで、関連するユーザーの追加ユーザー情報を提供したいのですが、どうすればよいですか?

4

2 に答える 2

1

As it is evident from your model, define a one to many relationship for user in the Follow model as below:

Follow

public function user(){
    return $this->belongsTo('App\Models\User');
}

Then, get the related user from the Follow in your controller:

$user_find = Follows::where("user_id", "=", $user_id)->get();
$related_user = $user_find->pluck('user');
于 2020-12-16T17:58:59.173 に答える