in ,

Maitiro ekuchengeta akawanda Checkbox kukosha mune dhatabhesi muLaravel?

Ini ndinofanira kuchengeta bhokisi rekutarisa mudhatabhesi muLaravel. Kuita sei?

Maitiro ekuchengeta akawanda Checkbox kukosha mune dhatabhesi muLaravel?
Maitiro ekuchengeta akawanda Checkbox kukosha mune dhatabhesi muLaravel?

Pane nzira dzinoverengeka dzekuchengeta kukosha kwemabhokisi ekutarisa akawanda mudhatabhesi muLaravel. Hedzino dzimwe sarudzo:

  1. Shandisa ndima yemhando ye "boolean". : bhokisi rekutarisa rega rega rinogona kuchengetwa se "chokwadi" kana "nhema" mumunda wemhando yeboolean mune yako database.
  2. Shandisa ndima yerudzi rwe "text". : unogona kuchengeta kukosha kweese akachekwa mabhokisi mundima yemhando yemavara, kupatsanura kukosha kwega kwega necomma. Semuenzaniso, kana mushandisi akatarisa mabhokisi e "michero" uye "miriwo", unogona kuchengetedza ruzivo urwu se "michero, miriwo" mundima yemhando yemavara.
  3. Shandisa tafura yehukama : kana uine akati wandei mabhokisi akabatana nerekodhi imwe chete, unogona kushandisa tafura yehukama kuchengetedza iyi data. Semuenzaniso, kana uine tafura ye "products" ine "categories" column, unogona kugadzira "product_categories" tafura inobatanidza zvikamu zvakasarudzwa kune chimwe nechimwe chigadzirwa.
  4. Shandisa ndima yemhando ye "tafura". : Kana iwe uri kushandisa dhatabhesi inotsigira arrays (sePostgreSQL), unogona kuchengeta kukosha kwemabhokisi ekutarisa akawanda mune array type field. Izvi zvinokutendera kuti uchengetedze akawanda mahushe mundima imwechete pasina kushandisa tafura yehukama.

Chengetedza akawanda mabhokisi ekutarisa mudhatabhesi uchishandisa array

MuLaravel, unogona kuchengetedza akawanda mabhokisi ekutarisa mudhatabhesi uchishandisa array kuchengetedza kukosha mundima imwe chete. Heino muenzaniso wekuti ungazviita sei:

1. Gadzira kutama kuti uwedzere ndima kutafura yako yedatabase kuti uchengete bhokisi rekutarisa. Semuenzaniso, kana iwe uchida kuchengetedza zvakakosha mumunda unonzi "sarudzo", unogona kushandisa kutama kunotevera:

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. Mune fomu yako, gadzira mabhokisi echeki pane yega yega sarudzo yaunoda kuchengetedza. Semuyenzaniso :

<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. Mune yako fomu yekutumira kugadzirisa logic, tora kukosha kwemabhokisi ekutarisa akasarudzwa uye uzvichengete mudhatabhesi. Semuyenzaniso :

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

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

Izvi zvinochengeta kukosha kwemabhokisi ekutarisa akasarudzwa mundima ye "sarudzo" seJSON yakavharidzirwa array. Iwe unogona kudzoreredza uye kuratidza iyo yakasarudzwa kukosha nekunyora iyo JSON array paunotora rekodhi kubva kudhatabhesi.

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

Sample makodhi ekuchengetedza akawanda mabhokisi ekutarisa maitiro muLaravel

Heano mamwe emuenzaniso makodhi ekuchengetedza kukosha kwemabhokisi ekutarisa akawanda mudhatabhesi muLaravel:

Shandisa ndima yemhando ye "boolean".

Kugadzirwa kwe "subscription_newsletter" boolean column mu "vashandisi" tafura:

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

Kunyoreswa kwekunyoreswa kwemushandisi kutsamba yenhau paunenge uchiendesa fomu:

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

Shandisa ndima yerudzi rwe "text".

Kugadzirwa kwe "options_sélectionées" column yerudzi rwemavara mu "survey" tafura:

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

Kuchengetedza sarudzo dzakasarudzwa nemushandisi paunenge uchiendesa fomu:

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

Shandisa tafura yehukama

Kugadzirwa kwetafura "categories_products" ine makoramu "id_product" uye "id_category":

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

Kuchengetedza zvikamu zvakasarudzwa nemushandisi paunenge uchiendesa 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();
}

Shandisa ndima yemhando ye "tafura".

Kugadzirwa kwekoramu "options_selected" yetafura mhando patafura "poll" (kana ukashandisa PostgreSQL):

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

Kuchengetedza sarudzo dzakasarudzwa nemushandisi paunenge uchiendesa fomu:

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

Izvo zvakakosha kuti uzive kuti, chero zvazvingava, iwe uchafanirwa kuve nechokwadi chekuti yako cheki bhokisi yakasimbiswa nemazvo uye kucheneswa usati wachengetwa kune yako database. Iwe unogona kushandisa maLaravel ekusimbisa anodzora uye data mafirita kune izvi.

[Chiverengero: 1 Zvinoreva: 5]

rakanyorwa Anton Gildebrand

Anton mugadziri akazara ane shungu dzekugovera kodhi matipi uye mhinduro nevamwe vake uye nharaunda yekuvandudza. Nekumashure kwakasimba kumberi-yekupedzisira uye kumashure-yekupedzisira matekinoroji, Anton ane hunyanzvi mumitauro yakasiyana-siyana yekuronga uye masisitimu. Iye inhengo inoshingaira yemaforamu ekuvandudza epamhepo uye anogara achipa mazano nemhinduro kubatsira vamwe kugadzirisa matambudziko ekuronga. Munguva yake yekuzorora, Anton anofarira kugara achienderana neazvino maitiro uye matekinoroji mumunda uye kuyedza nemidziyo mitsva nemafuremu.

Leave mhinduro

Yako email kero haizoburitswa Raida minda anozivikanwa *

Unofungei?

387 Points
Upvote Downvote