An error occurred while loading the file. Please try again.
-
a0f598b9
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Post;
use App\Http\Requests\StorePostRequest;
use Auth;
class PostController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$posts = Post::with(['comments' => function ($query) {
$query->orderBy('updated_at', 'desc');
}])->orderBy('updated_at', 'desc')->take(20)->get();
$user_id = Auth::User()->id;
foreach ($posts as $post) {
if ($post->likeByUsers) {
foreach ($post->likeByUsers as $user) {
if ($user->id == $user_id) {
$post->likeable = false;
break;
}
}
}
if (!isset($post->likeable)) {
$post->likeable = true;
}
}
return view('post.newsfeed', ['posts' => $posts]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(StorePostRequest $request)
{
$req = $request->all();
if (!empty($req['image'])) {
$req['image'] = base64_encode(file_get_contents($req['image']));
}
$data = array_filter($req);
$post = Auth::User()->posts()->create($data);
return response()->json($post, 201);
}