Download the PHP package blockpc/select2-wire without Composer
On this page you can find all versions of the php package blockpc/select2-wire. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package select2-wire
Select2 Wire
read plis
This package is old... i found that create a select2 for laravel its very simple, checkout this git https://gist.github.com/blockpc/5878e8d02b1fa33a9e13ab912e9a6440 now the gist is old version, but how to explain depends each one, the basic is the same
old version
This package create a select2 livewire component via commands. The package is built under a TALL stack. Make sure you have the requirements (see composer.json) One command creates a livewire component as well as its view, plus it gives you the option to create a trait to receive basic events on a parent component.
Installation
Commands
Single component Create a component that works as a single selectable, allows you to add data on the fly
Multiple component Create a component that works as a multiple selectable, allows you to add data on the fly, data must be separated by commas
Delete component This commando delete a component created
Single Component Foo
This command create a single
component select2 class (under directory app Livewire/Select2/FooSelect2.php
) and one view (under directory resource livewire/select2/foo-select2.blade.php
) with a model Foo
related.
Single Component Foo with model Baz
This command create a single
component select2 class (under directory app Livewire/Select2/FooSelect2.php
) and one view (under directory resource livewire/select2/foo-select2.blade.php
) with a model Baz
related.
Single Component Foo with model Baz and parent model Taz
This is the suggested command. It has the same behavior as the others but adds some events (and listeners) that allow you to interact with a foreign component (ex CRUD). It also allows you to create a trait to help you in this.
This command create a single
component select2 class (under directory app Livewire/Select2/FooSelect2.php
) and one view (under directory resource livewire/select2/foo-select2.blade.php
) with a model Baz
related and parent model Taz
, Gives you the option to create a trait if you need to interact with an external component (under directory app Livewire/Select2/Traits/SingleSelect2.php
)
Multiple Component Foo
This command create a multiple
component select2 class (under Livewire/Select2/FooSelect2.php
directory app) and one view (under directory resource livewire/select2/foo-select2.blade.php
) with a model Foo
related.
Multiple Component Foo with model Baz
This command create a multiple
component select2 class (under directory app Livewire/Select2/FooSelect2.php
) and one view (under directory resource livewire/select2/foo-select2.blade.php
) with a model Baz
related.
Multiple Component Foo with model Baz and parent model Taz
This is the suggested command. It has the same behavior as the others but adds some events (and listeners) that allow you to interact with a foreign component (ex CRUD). It also allows you to create a trait to help you in this.
This command create a multiple
component select2 class (under directory app Livewire/Select2/FooSelect2.php
) and one view (under directory resource livewire/select2/foo-select2.blade.php
) with a model Baz
related and parent model Taz
, Gives you the option to create a trait if you need to interact with an external component (under directory app Livewire/Select2/Traits/MultipleSelect2.php
)
Usage
Let's suppose
Our company sells vehicles and each vehicle has one code, a brand and can be in various colors.
From what has been read above we understand that we have a parent model called vehicle
. And each one has properties like one name, one brand and could be has many colors.
In the example directory you find all files you needs for this tutorial
Brand
The model brand
have a relation one-to-one with parent model vehicle
One vehicle has one brand
This relation we called like single
relation
Colors
The model color
have a relation many-to-many with parent model vehicle
One vehicle has many colors and one color can be set in many vehicles
This relation we called like multiple
relation
Extra Migration
For a multiple
relation we need a migration that creates the table that contains the foreign keys for color
and vehicle
models
php artisan make:migration create_color_vehicle_table
you find all the migrations in example directory
run mingrations
Models
So, your parent model vehicle
should look like this
Your single relation brand
should look like this:
Your multiple relation colors
should look like this:
Route and Controller
After this, we need a route and one controller
- Controller:
php artisan make:controller VehiclesController -i
- Route: Route::get('/vehicle', VehiclesController::class)->name('vehicles')
Commands needed
We run two commands
- php artisan select2:single brand -p vehicle
- php artisan select2:multiple color -p vehicle
And we make sure to accept the creation of the traits. Then we add the components we created to use in the controller view. you can see the example and how it was structured.
enjoy
💖 Support the development
Do you like this project? Support it by donating
- PayPal: Donate
Select2-Wire is open-sourced software licensed under the MIT license.