예제 #1
0
 /**
  * @param Project $project
  * @param Tag $tags
  * @return \Illuminate\Contracts\View\View
  * @throws \Exception
  */
 public function index(Project $project, Tag $tags)
 {
     $projects = $project->with($this->relations())->orderBy('date', 'desc')->get();
     $options = ['columns' => $this->theme->setting('portfolioColumns'), 'grid' => $this->theme->setting('portfolioGrid'), 'spaced' => $this->theme->setting('portfolioSpaced')];
     $tags = $projects->getUniqueTags();
     return $this->theme->render('portfolio.index', ['projects' => $projects, 'options' => $options, 'tags' => $tags]);
 }
예제 #2
0
 /**
  * @param Project $project
  * @param Request $request
  * @return mixed
  */
 public function index(Project $project, Request $request)
 {
     $query = $project->with(['collaborators', 'images', 'images.sizes' => function ($query) {
         $query->dimension(150);
     }, 'translations'])->orderBy('date', 'asc');
     $value = $request->get('query');
     $locale = $request->get('locale');
     if ($value) {
         $query->whereHas('translations', function ($q) use($value, $locale) {
             $q->where('locale', $locale);
             $q->where(function ($q) use($value) {
                 $q->where('title', 'like', '%' . $value . '%')->orWhere('content', 'like', '%' . $value . '%');
             });
         });
     }
     return $query->paginate();
 }