/** * Using service container in constructor to instantiate a class * * @param Article $article */ public function __construct(Article $article) { $this->article = $article; $this->blog = AdminFunctionType::where('code', 'blog')->select('admin_function_type_id')->first(); $this->destinationPath = 'uploads'; if (Auth::user() != "") { $this->user = Auth::user(); } else { $this->route_parameter = Route::current()->parameters(); $this->user = User::findOrFail($this->route_parameter['user_id']); } $this->categories = $this->user->categories()->orderBy('name')->get(); $this->article_index_url = 'admin/article'; foreach ($this->categories as $category) { $this->article_amount[$category->category_id] = $category->articles()->count(); $this->total += $category->articles()->count(); } $this->article_amount['total'] = $this->total; }