in ,

Ahoana ny fitahirizana sanda Checkbox marobe ao anaty angon-drakitra ao amin'ny Laravel?

Mila mitahiry ny sandan'ny checkbox ao amin'ny database ao amin'ny Laravel aho. Ahoana no atao?

Ahoana ny fitahirizana sanda Checkbox marobe ao anaty angon-drakitra ao amin'ny Laravel?
Ahoana ny fitahirizana sanda Checkbox marobe ao anaty angon-drakitra ao amin'ny Laravel?

Misy fomba maro hitahirizana ny soatoavin'ny boaty marika maromaro ao anaty angon-drakitra ao amin'ny Laravel. Ireto misy safidy vitsivitsy:

  1. Mampiasà saha karazana "boolean". : Ny boaty fisavana tsirairay dia azo tehirizina ho "marina" na "diso" amin'ny saha karazana boolean ao amin'ny angon-drakitrao.
  2. Mampiasà saha karazana "text". : azonao atao ny mitahiry ny soatoavin'ireo boaty voamarika rehetra ao anaty saha karazana lahatsoratra, manasaraka ny sanda tsirairay amin'ny faingo. Ohatra, raha nanamarika ny boaty "voankazo" sy "legioma" ny mpampiasa, dia azonao atao ny mitahiry ity fampahalalana ity ho "voankazo, legioma" ao anaty saha karazana lahatsoratra.
  3. Mampiasà tabilao fifandraisana : raha manana boaty fisavana maromaro mifandray amin'ny firaketana iray ihany ianao, dia azonao ampiasaina ny tabilao fifandraisana hitahirizana an'io data io. Ohatra, raha manana latabatra "vokatra" misy tsanganana "sokajy" ianao dia afaka mamorona latabatra "vokatra_karazana" izay mampifandray ireo sokajy voafantina amin'ny vokatra tsirairay.
  4. Mampiasà saha karazana "table". : Raha mampiasa angon-drakitra manohana array ianao (toa an'i PostgreSQL), dia azonao atao ny mitahiry ny sandan'ny boaty maromaro ao anaty saha karazana array. Izany dia ahafahanao mitahiry sanda marobe amin'ny sehatra tokana nefa tsy mila mampiasa latabatra fifandraisana.

Tehirizo sanda maromaro ao anaty angon-drakitra mampiasa array

Ao amin'ny Laravel, azonao atao ny mitahiry soatoavina boaty maromaro ao anaty angon-drakitra amin'ny alàlan'ny laharan-tariby hitahiry ny soatoavina amin'ny saha tokana. Ity misy ohatra iray amin'ny fomba azonao atao:

1. Mamorona fifindra-monina hanampiana saha eo amin'ny latabatra database mba hitahiry ny sandan'ny boaty. Ohatra, raha te-hitahiry ny soatoavina ao amin'ny saha antsoina hoe "safidy" ianao dia afaka mampiasa ity fifindra-monina manaraka ity:

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. Ao amin'ny endrikao, mamorona boaty ho an'ny safidy tsirairay tianao hotehirizina. Ohatra :

<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. Ao amin'ny lojika fanodinana fanolorana ny endrikao, alaivo ny soatoavin'ireo boaty voafantina ary tehirizo ao anaty angon-drakitra. Ohatra :

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

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

Ity dia mitahiry ny sandan'ny boaty voafantina ao amin'ny saha "safidy" ho toy ny laharan-kodiarana JSON. Azonao atao ny maka sy mampiseho ireo soatoavina voafantina amin'ny alàlan'ny famadihana ny laharan'ny JSON rehefa maka ny rakitra avy amin'ny angon-drakitra ianao.

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

Kaody santionany hitahiry sanda maromaro ao amin'ny Laravel

Ireto misy kaody santionany amin'ny fitehirizana ny sandan'ny boaty maromaro ao anaty angon-drakitra ao Laravel:

Mampiasà saha karazana "boolean".

Famoronana ny tsanganana boolean "subscription_newsletter" ao amin'ny tabilao "mpampiasa":

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

Fisoratana anarana amin'ny famandrihana ny mpampiasa amin'ny gazetiboky rehefa mandefa ny taratasy:

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

Mampiasà saha karazana "text".

Famoronana ny tsanganana "options_séléctionées" misy karazana lahatsoratra ao amin'ny tabilao "survey":

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

Mitahiry ny safidy nofidin'ny mpampiasa rehefa mandefa ny endrika:

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

Mampiasà tabilao fifandraisana

Famoronana tabilao "categories_products" miaraka amin'ny tsanganana "id_product" sy "id_category":

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

Mitahiry sokajy nofantenan'ny mpampiasa rehefa mandefa ny endrika:

$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();
}

Mampiasà saha karazana "table".

Famoronana tsanganana "options_selected" amin'ny karazana latabatra ao amin'ny tabilao "poll" (raha mampiasa PostgreSQL ianao):

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

Mitahiry ny safidy nofidin'ny mpampiasa rehefa mandefa ny endrika:

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

Zava-dehibe ny manamarika fa, na ahoana na ahoana, dia mila miantoka ianao fa ny sandan'ny checkbox dia voamarina sy voadio tsara alohan'ny hitehirizana azy ao amin'ny angon-drakitrao. Azonao atao ny mampiasa ny fanaraha-maso fanamarinana sy sivana data an'i Laravel amin'izany.

[Total: 1 midika hoe: 5]

Mpanoratra Anton Gildebrand

Anton dia mpamorona stack feno liana amin'ny fizarana toro-hevitra sy vahaolana amin'ny mpiara-miasa aminy sy ny vondrom-piarahamonina mpamorona. Miaraka amin'ny fiaviana matanjaka amin'ny teknolojia eo anoloana sy aoriana, i Anton dia mahay amin'ny fiteny sy rafitra fandaharana isan-karazany. Mpikambana mavitrika amin'ny seha-pifanakalozan-tserasera an-tserasera izy ary manome hevitra sy vahaolana tsy tapaka hanampiana ny hafa hamaha ny olan'ny fandaharana. Amin'ny fotoam-pialan-tsasatra, i Anton dia mankafy ny mijanona hatrany amin'ny fironana sy ny teknolojia farany amin'ny sehatra ary manandrana fitaovana sy rafitra vaovao.

Leave a comment

Ny adiresy mailakao dia tsy havoaka. Mitaky saha dia marika *

Inona ny hevitrao?