in ,

Momwe mungasungire ma Checkbox angapo mu database ku Laravel?

Ndiyenera kusungirako ma checkbox mu database ku Laravel. Nditani?

Momwe mungasungire ma Checkbox angapo mu database ku Laravel?
Momwe mungasungire ma Checkbox angapo mu database ku Laravel?

Pali njira zingapo zosungira zomwe zili m'mabokosi angapo mu database ku Laravel. Nazi zina zomwe mungachite:

  1. Gwiritsani ntchito gawo la "boolean". : bokosi lililonse likhoza kusungidwa ngati "zoona" kapena "zabodza" m'gawo la boolean mu database yanu.
  2. Gwiritsani ntchito mtundu wa "text". : mutha kusunga zikhalidwe zamabokosi onse osankhidwa mugawo lamtundu wa mawu, kulekanitsa mtengo uliwonse ndi koma. Mwachitsanzo, ngati wogwiritsa ntchito adayang'ana mabokosi a "zipatso" ndi "masamba", mutha kusunga izi ngati "zipatso, masamba" m'munda wamtundu walemba.
  3. Gwiritsani ntchito tebulo la maubwenzi : ngati muli ndi mabokosi angapo omwe amalumikizidwa ku mbiri yomweyo, mutha kugwiritsa ntchito tebulo lolumikizana kuti musunge izi. Mwachitsanzo, ngati muli ndi tebulo la "products" lomwe lili ndi gawo la "categories", mutha kupanga tebulo la "product_categories" lomwe limalumikiza magulu osankhidwa ku chinthu chilichonse.
  4. Gwiritsani ntchito gawo la "tebulo". : Ngati mukugwiritsa ntchito nkhokwe yomwe imathandizira masanjidwe (monga PostgreSQL), mutha kusunga zikhalidwe zamabokosi angapo pagawo lamitundu yosiyanasiyana. Izi zikuthandizani kuti musunge zinthu zingapo pamalo amodzi osagwiritsa ntchito tebulo laubwenzi.

Sungani ma checkbox angapo mu database pogwiritsa ntchito mndandanda

Ku Laravel, mutha kusunga macheke angapo pankhokwe pogwiritsa ntchito mndandanda kuti musunge zomwe zili mugawo limodzi. Nachi chitsanzo cha momwe mungachitire:

1. Pangani kusamuka kuti muwonjezere gawo ku tebulo lanu lankhokwe kuti musunge cheke. Mwachitsanzo, ngati mukufuna kusunga zinthu zomwe zili mugawo lotchedwa "zosankha", mutha kugwiritsa ntchito kusamukaku:

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class AddOptionsToTableName extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('table_name', function (Blueprint $table) {
            $table->text('options')->nullable();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('table_name', function (Blueprint $table) {
            $table->dropColumn('options');
        });
    }
}

2. Mu mawonekedwe anu, pangani cheke mabokosi pa chilichonse chimene mukufuna kusunga. Mwachitsanzo :

<input type="checkbox" name="options[]" value="option1"> Option 1
<input type="checkbox" name="options[]" value="option2"> Option 2
<input type="checkbox" name="options[]" value="option3"> Option 3

3. M'mawu anu opangira mawonekedwe, pezani zikhalidwe zamabokosi osankhidwa ndikusunga munkhokwe. Mwachitsanzo :

$options = $request->input('options');

$model = new Model();
$model->options = json_encode($options);
$model->save();

Izi zimasunga zikhalidwe zamabokosi osankhidwa mugawo la "zosankha" ngati gulu la JSON. Mutha kupezanso ndikuwonetsa zomwe mwasankha polemba mndandanda wa JSON mukamapeza mbiriyo kuchokera pankhokwe.

$model = Model::find($id);
$options = json_decode($model->options);

Zitsanzo za zitsanzo zosungiramo ma checkbox angapo ku Laravel

Nawa ma code angapo osungiramo zikhalidwe zamabokosi angapo patsamba la Laravel:

Gwiritsani ntchito gawo la "boolean".

Kupanga gawo la boolean la "subscription_newsletter" patebulo la "users":

Schema::table('utilisateurs', function (Blueprint $table) {
    $table->boolean('abonnement_newsletter')->default(0);
});

Kulembetsa kulembetsa kwa wogwiritsa ntchito kumakalata akamatumiza fomu:

$utilisateur = new Utilisateur;
$utilisateur->abonnement_newsletter = $request->input('abonnement_newsletter');
$utilisateur->save();

Gwiritsani ntchito mtundu wa "text".

Kupanga gawo la "options_sélectionées" lamtundu wa mawu patebulo la "survey":

Schema::table('sondage', function (Blueprint $table) {
    $table->text('options_sélectionnées');
});

Kusunga zosankha zosankhidwa ndi wogwiritsa ntchito potumiza fomu:

$sondage = new Sondage;
$sondage->options_sélectionnées = implode(',', $request->input('options'));
$sondage->save();

Gwiritsani ntchito tebulo la maubwenzi

Kupanga tebulo "categories_products" yokhala ndi "id_product" ndi "id_category":

Schema::create('catégories_produits', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->integer('id_produit');
    $table->integer('id_catégorie');
    $table->timestamps();
});

Kusunga magulu osankhidwa ndi wogwiritsa ntchito potumiza fomu:

$produit = new Produit;
$produit->save();

foreach ($request->input('catégories') as $catégorie) {
    $catégorie_produit = new CatégorieProduit;
    $catégorie_produit->id_produit = $produit->id;
    $catégorie_produit->id_catégorie = $catégorie;
    $catégorie_produit->save();
}

Gwiritsani ntchito gawo la "tebulo".

Kupanga gawo la "options_selected" lamtundu wa tebulo patebulo "poll" (ngati mugwiritsa ntchito PostgreSQL):

Schema::table('sondage', function (Blueprint $table) {
    $table->jsonb('options_sélectionnées');
});

Kusunga zosankha zosankhidwa ndi wogwiritsa ntchito potumiza fomu:

$sondage = new Sondage;
$sondage->options_sélectionnées = $request->input('options');
$sondage->save();

Ndikofunikira kudziwa kuti, mulimonse, muyenera kuwonetsetsa kuti macheke anu amatsimikiziridwa ndikuyeretsedwa musanasungidwe ku database yanu. Mutha kugwiritsa ntchito zowongolera zovomerezeka za Laravel ndi zosefera za data pa izi.

[Chiwerengero: 1 Kutanthauza: 5]

Written by Anton Gildebrand

Anton ndiwopanga ma stack wathunthu wokonda kugawana maupangiri ndi mayankho ndi ogwira nawo ntchito komanso gulu la omanga. Pokhala ndi maziko olimba pamakina akutsogolo komanso kumbuyo, Anton amadziwa bwino zilankhulo ndi madongosolo osiyanasiyana. Ndi membala wokangalika pamabwalo opanga ma intaneti ndipo nthawi zonse amapereka malingaliro ndi mayankho kuti athandize ena kuthana ndi zovuta zamapulogalamu. Munthawi yake yopuma, Anton amasangalala kukhala ndi chidziwitso pazomwe zachitika komanso ukadaulo waposachedwa pamunda ndikuyesa zida zatsopano ndi machitidwe.

Kusiya ndemanga

Imelo yanu sidzasindikizidwa. Amafuna minda amalembedwa *

Mukuganiza chiyani?

387 mfundo
Upvote Kutsika