select(['posts.id', 'posts.date', 'posts.published', 'post_translations.title']) ->where('post_translations.locale', app()->getLocale())) ->addColumn('options', function ($model) { return View::make('partials.options', compact('model'))->render(); }) ->filter(function ($query) { if(Request::has('search') && isset(Request::input('search')['value']) && !empty(Request::input('search')['value'])){ $search_term = Request::input('search')['value']; $query->whereTranslationLike('title', "%". $search_term . "%", app()->getLocale()); } }) ->make(true); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { return view('post.index'); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('post.create', ['post' => new Post]); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(CreatePostRequest $request) { $post = Post::create($request->all()); return redirect()->route('admin.post.edit', $post); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show(Post $post) { $posts = Post::translatedIn(app()->getLocale())->where('id', '!=', $post->id)->ordered()->paginate(5); $next = Post::translatedIn(app()->getLocale())->where('date', '<', Carbon::createFromFormat('d.m.Y.', $post->date)->toDateString())->orderBy('date','desc')->first(); $previous = Post::translatedIn(app()->getLocale())->where('date', '>', Carbon::createFromFormat('d.m.Y.', $post->date)->toDateString())->orderBy('date','asc')->first(); return view('public.post', compact('post', 'posts', 'next', 'previous')); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit(Post $post) { return view('post.edit', compact('post')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(UpdatePostRequest $request, Post $post) { $post->update($request->all()); return redirect()->route('admin.post.index'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Post $post) { $post->delete(); } }