| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- <?php
 
- namespace App\Http\Controllers;
 
- use Illuminate\Http\Request;
 
- use App\Models\Post;
 
- use Intervention\Image\Facades\Image;
 
- class PostsController extends Controller
 
- {
 
- 	public function __construct()
 
- 	{
 
- 		$this->middleware('auth');
 
- 	}
 
-     public function index()
 
-     {
 
-         $users = auth()->user()->following()->pluck('profiles.user_id');
 
-         $posts = Post::whereIn('user_id', $users)->with('user')->latest()->get();
 
-         return view('posts.index', compact('posts'));
 
-     }
 
-     public function create()
 
-     {
 
-     	return view('posts.create');
 
-     }
 
-     public function store()
 
-     {
 
-     	$data = request()->validate([
 
-     		'caption' => 'required',
 
-     		'image' => ['required', 'image'],
 
-     	]);
 
-     	$imagePath = request('image')->store('uploads', 'public');
 
-     	$image = Image::make(public_path("storage/{$imagePath}"))->fit(1200, 1200);
 
-     	$image->save();
 
-     	auth()->user()->posts()->create([
 
-     		'caption' => $data['caption'],
 
-     		'image' => $imagePath,
 
-     	]);
 
-     	return redirect('/profile/' . auth()->user()->id);
 
-     }
 
-     public function show(Post $post) 
 
-     {
 
-     	return view('posts.show', compact('post'));
 
-     }
 
- }
 
 
  |