エイリアシングを試してみてください。
$sharedPosts = DB::table('shares')
->join('users', 'users.id', '=', 'shares.user_id')
->join('posts as p1', 'p1.user_id', '=', 'users.id' , 'AND' , 'p1.id', '=', 'shares.post_id')
->join('posts as p2', 'p2.id', '=', 'shares.post_id')
->where('shares.user_id', '=', $myFriends)
->get();
あなたはなし別名で二回表を結合することはできません。
あなたの参加で2句を持っている場合、私はあなたがdocumentationのように行うべきだと思いますが:
$sharedPosts = DB::table('shares')
->join('users', 'users.id', '=', 'shares.user_id')
->join('posts as p1', , function($join){
$join->on('p1.user_id', '=', 'users.id')
->on('p1.id', '=', 'shares.post_id')
})
->join('posts as p2', 'p2.id', '=', 'shares.post_id')
->where('shares.user_id', '=', $myFriends)
->get();
編集(1つのポストと結合):
$sharedPosts = DB::table('shares')
->join('users', 'users.id', '=', 'shares.user_id')
->join('posts', , function($join){
$join->on('posts.user_id', '=', 'users.id')
->on('posts.id', '=', 'shares.post_id')
})
->where('shares.user_id', '=', $myFriends)
->get();
私は」申し訳ありませんが、私が編集した - > join( 'posts'、 'posts.id'、 '='、 'shares.post_id')は、次のようなものではありません。あなたは今チェックできますか? –
3行目に余分なカンマがあります、ありがとうございました –
はい、削除しました:) –