in ,

Sidee loo kaydiyaa qiyamka Sanduuqa Hubinta ee kaydka xogta ee Laravel?

Waxaan u baahanahay inaan ku kaydiyo qiyamka sanduuqa jeegaga kaydka xogta ee Laravel. Sidee loo sameeyaa?

Sidee loo kaydiyaa qiyamka Sanduuqa Hubinta ee kaydka xogta ee Laravel?
Sidee loo kaydiyaa qiyamka Sanduuqa Hubinta ee kaydka xogta ee Laravel?

Waxaa jira dhowr siyaabood oo lagu kaydiyo qiyamka sanduuqyada hubinta ee kaydka xogta ee Laravel. Waa kuwan doorarka qaar:

  1. Isticmaal goob nooca "boolean". : sanduuq kasta waxa loo kaydin karaa sida "run" ama "been" oo ku jira goobta nooca boolean ee kaydka xogtaada.
  2. Isticmaal goob nooca "qoraalka". : waxaad ku kaydin kartaa qiyamka dhammaan sanduuqyada hubinta ee goobta nooca qoraalka ah, adigoo u kala saaraya qiime kasta iyo comma. Tusaale ahaan, haddii isticmaaluhu uu hubiyay sanduuqyada "miraha" iyo "khudradda", waxaad u kaydin kartaa macluumaadkan sida "miro, khudaar" goob qoraal ah.
  3. Isticmaal miiska xiriirka : Haddii aad haysato dhowr sanduuq oo hubin ah oo ku xiran isla rikoor, waxaad isticmaali kartaa miiska xiriirka si aad u kaydiso xogtan. Tusaale ahaan, haddii aad haysatid miis "products" oo leh tiir "categories", waxaad samayn kartaa miis "product_categories" oo isku xidha qaybaha la doortay iyo badeecad kasta.
  4. Isticmaal goob nooca "miiska". : Haddii aad isticmaalayso xog-ururin taageerta arrays (sida PostgreSQL), waxaad ku kaydin kartaa qiyamka sanduuqyada hubinta badan ee goobta nooca array. Tani waxay kuu ogolaaneysaa inaad ku kaydiso qiyamka badan hal goob adigoon isticmaalin miiska xiriirka.

Ku kaydi qiyamka sanduuqa hubinta ee kaydka xogta adiga oo isticmaalaya array

Gudaha Laravel, waxaad ku kaydin kartaa qiyamka sanduuqa jeegeynta ee kaydinta xogta adiga oo isticmaalaya array si aad u kaydiso qiyamka hal goob. Waa kan tusaale sida aad u samayn karto:

1. Samee guuritaan si aad ugu darto garoon miiskaaga xog ururinta si aad u kaydiso qiimayaasha sanduuqa. Tusaale ahaan, haddii aad rabto inaad ku kaydiso qiyamka goobta loo yaqaan "options", waxaad isticmaali kartaa socdaalka soo socda:

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. Foomkaga, u samee sanduuqyada hubinta ikhtiyaar kasta oo aad rabto inaad kaydiso. Tusaale ahaan :

<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. Foomkaaga gudbinta macquulka ah, soo qaado qiyamka sanduuqyada jeeg-bixinta ee la doortay oo ku kaydi kaydka xogta. Tusaale ahaan :

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

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

Tani waxay ku kaydinaysaa qiyamka sanduuqyada hubinta ee la doortay ee goobta "ikhtiraacida" sidii JSON sumaysan. Waxaad markaas dib u soo ceshan kartaa oo aad soo bandhigi kartaa qiyamka la doortay adiga oo dejinaya qaabka JSON marka aad ka soo ceshato diiwaanka kaydka

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

Tusaalaha koodka lagu kaydiyo qiyamka sanduuqa jeeg-garaynta ee Laravel

Waa kuwan qaar ka mid ah koodka muunada ee lagu kaydinayo qiyamka sanduuqyada hubinta ee badan ee kaydka Laravel:

Isticmaal goob nooca "boolean".

Abuuritaanka "subscription_newsletter" tiirka boolean ee shaxda "users":

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

Diiwaangelinta ku-qoritaanka isticmaalaha warsidaha marka aad soo gudbinayso foomka:

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

Isticmaal goob nooca "qoraalka".

Abuuritaanka tiirka "options_sélectionées" ee nooca qoraalka ee shaxda " sahanka ":

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

Kaydinta xulashooyinka uu xushay adeegsaduhu marka aad gudbinayso foomka:

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

Isticmaal miiska xiriirka

Abuuritaanka shaxda "categories_products" oo leh tiirarka "id_product" iyo "id_category":

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

Kaydinta qaybaha uu doortay adeegsaduhu marka uu soo gudbinayo foomka:

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

Isticmaal goob nooca "miiska".

Abuuritaanka tiirka "options_selected" ee nooca miiska ee shaxda "poll" (haddii aad isticmaasho PostgreSQL):

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

Kaydinta xulashooyinka uu xushay adeegsaduhu marka aad gudbinayso foomka:

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

Waxaa muhiim ah in la ogaado, xaalad kasta, waxaad u baahan doontaa inaad hubiso in qiyamka sanduuqaaga si sax ah loo ansaxiyay oo la nadiifiyay ka hor inta aan lagu kaydin xogtaada. Waxaad u isticmaali kartaa kantaroolayaasha ansaxinta Laravel iyo filtarrada xogta tan.

[Guud: 1 Macnaheedu: 5]

Written by Anton Gildebrand

Anton waa horumariye buuxa oo xiiseeya la wadaagida talooyinka koodhka iyo xalalka asxaabtiisa iyo bulshada horumarisa. Isagoo asal adag ka haysta tignoolajiyada-dhamaadka hore iyo dambe-dhamaadka, Anton waxa uu aad ugu yaqaanaa luuqadaha barnaamijyada kala duwan iyo qaab-dhismeedka. Waa xubin firfircoon oo ka mid ah golayaasha horumarinta internetka oo si joogto ah wax ugu biiriya fikradaha iyo xalalka si ay u caawiyaan dadka kale xalinta caqabadaha barnaamijka. Waqtigiisa firaaqada ah, Anton wuxuu ku raaxaystaa inuu la socdo isbeddellada ugu dambeeyay iyo teknoolojiyadda goobta iyo tijaabinta aaladaha iyo qaab-dhismeedka cusub.

Laisser un commentaire

Cinwaanka emailkaaga lama daabici doono. Beeraha loo baahan yahay waxaa lagu calaamadeeyay *

Maxay idinla tahay?

387 Points
Upvote Downvote