# Items Management

All three types of users have access to a tags management table page.

Item Management is the most advanced example included in the PRO theme because every item has a picture, has a category and has multiple tags. The item management can be accessed by clicking `Items Management` from the Laravel Examples section of the sidebar or adding `/laravel-items-management` in the url. The authenticated user as an Admin or Creator is able to add, edit and delete items. For adding a new item you can press the + New Item button or add in the url `/laravel-new-item`. If you would like to edit or delete a tag you can click on the Action column. It is also possible to sort the fields or to search in the fields.

On the page for adding a new item you will find a form which allows you to add an image of the item, to fill the name, excerpt, description of the item, a dropdown to choose the category and a multiselect for the tags.

The ``App\Http\Livewire\LaravelExample\NewItem`` handles data validation when adding a new item and the item creation(see snippet below):

                    public function addItem() {
                        $this->validate();
                        $item = Item::create([
                            'name' => $this->name,
                            'excerpt' => $this->excerpt,
                            'description' => $this->description,
                            'category_id' => $this->category_id,
                            'status' => $this->status,
                            'show_on_homepage' => $this->showOnHomepage,
                            'options' => $this->options
                        ]);
                        $this->date && $item->update([
                            'date' => Carbon::parse($this->date)->format('Y-m-d')
                        ]);
                        $this->photo && $item->update([
                            'picture' => $this->photo->store('/', 'items')
                        ]);
                        $item->tags()->sync($this->tags_id, false);
                    }

For deleting an item is necessary to remove the association between item and tags. The ``App\Http\Livewire\LaravelExample\ItemsManagement`` handles the deletion of an item:

                        public function delete($id) {
                            $item = Item::find($id);
                            $item->tags()->detach();
                            $item->delete();
                            $this->showSuccesNotification = true;
                        }