select(['projects.id', 'projects.date', 'project_translations.title']) ->where('project_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 . "%"); } }) ->make(true); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { return view('project.index'); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('project.create', ['project' => new Project]); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(CreateProjectRequest $request) { $project = Project::create($request->all()); return redirect()->route('admin.project.edit', $project); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show(Project $project) { $projects = Project::withTranslation() ->translatedIn() ->where('id', '!=', $project->id) ->ordered() ->get(); return view('public.project', compact('project', 'projects')); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit(Project $project) { return view('project.edit', compact('project')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(UpdateProjectRequest $request, Project $project) { $project->update($request->all()); return redirect()->route('admin.project.index'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Project $project) { $project->delete(); } }