in ,

Laravel හි දත්ත ගබඩාවක බහු පිරික්සුම් කොටු අගයන් ගබඩා කරන්නේ කෙසේද?

මට Laravel හි දත්ත ගබඩාවේ පිරික්සුම් කොටු අගයන් ගබඩා කිරීමට අවශ්‍යයි. කොහොමද කරන්නේ ?

Laravel හි දත්ත ගබඩාවක බහු පිරික්සුම් කොටු අගයන් ගබඩා කරන්නේ කෙසේද?
Laravel හි දත්ත ගබඩාවක බහු පිරික්සුම් කොටු අගයන් ගබඩා කරන්නේ කෙසේද?

Laravel හි දත්ත ගබඩාවක බහු පිරික්සුම් කොටු වල අගයන් ගබඩා කිරීමට ක්‍රම කිහිපයක් තිබේ. මෙන්න විකල්ප කිහිපයක්:

  1. "බූලියන්" ආකාරයේ ක්ෂේත්රයක් භාවිතා කරන්න : සෑම පිරික්සුම් පෙට්ටියක්ම "සත්‍ය" හෝ "අසත්‍ය" ලෙස ඔබගේ දත්ත ගබඩාවේ බූලියන් ආකාරයේ ක්ෂේත්‍රයක සුරැකිය හැක.
  2. "පෙළ" ආකාරයේ ක්ෂේත්රයක් භාවිතා කරන්න : ඔබට සියලුම පිරික්සුම් කොටු වල අගයන් පෙළ ආකාරයේ ක්ෂේත්‍රයක ගබඩා කළ හැක, එක් එක් අගය කොමාවකින් වෙන් කරයි. උදාහරණයක් ලෙස, පරිශීලකයා "පළතුරු" සහ "එළවළු" පෙට්ටි පරීක්ෂා කළේ නම්, ඔබට මෙම තොරතුරු "පළතුරු, එළවළු" ලෙස පෙළ ආකාරයේ ක්ෂේත්‍රයක සුරැකිය හැක.
  3. සම්බන්ධතා වගුවක් භාවිතා කරන්න : ඔබට එකම වාර්තාවට සම්බන්ධ කර ඇති පිරික්සුම් කොටු කිහිපයක් තිබේ නම්, ඔබට මෙම දත්ත ගබඩා කිරීමට සම්බන්ධතා වගුවක් භාවිතා කළ හැක. උදාහරණයක් ලෙස, ඔබට "ප්‍රවර්ග" තීරුවක් සහිත "නිෂ්පාදන" වගුවක් තිබේ නම්, ඔබට තෝරාගත් ප්‍රවර්ග එක් එක් නිෂ්පාදනයට සම්බන්ධ කරන "නිෂ්පාදන_ප්‍රවර්ග" වගුවක් සෑදිය හැක.
  4. "වගුව" ආකාරයේ ක්ෂේත්රයක් භාවිතා කරන්න : ඔබ අරා සඳහා සහය දක්වන දත්ත සමුදායක් භාවිතා කරන්නේ නම් (PostgreSQL වැනි), ඔබට අරා ආකාරයේ ක්ෂේත්‍රයක බහු පිරික්සුම් කොටු වල අගයන් ගබඩා කළ හැක. සම්බන්ධතා වගුවක් භාවිතා නොකර තනි ක්ෂේත්‍රයක බහු අගයන් ගබඩා කිරීමට මෙය ඔබට ඉඩ සලසයි.

අරාවක් භාවිතයෙන් දත්ත සමුදායක බහු පිරික්සුම් කොටු අගයන් ගබඩා කරන්න

Laravel හි, ඔබට එක් ක්ෂේත්‍රයක අගයන් ගබඩා කිරීම සඳහා අරාවක් භාවිතා කිරීමෙන් දත්ත සමුදායක බහු පිරික්සුම් කොටු අගයන් ගබඩා කළ හැකිය. ඔබට එය කළ හැකි ආකාරය පිළිබඳ උදාහරණයක් මෙන්න:

1. පිරික්සුම් කොටු අගයන් ගබඩා කිරීම සඳහා ඔබගේ දත්ත සමුදා වගුවට ක්ෂේත්‍රයක් එක් කිරීමට සංක්‍රමණයක් සාදන්න. උදාහරණයක් ලෙස, ඔබට "විකල්ප" නම් ක්ෂේත්‍රයක අගයන් ගබඩා කිරීමට අවශ්‍ය නම්, ඔබට පහත සංක්‍රමණය භාවිතා කළ හැක:

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. ඔබගේ පෝරමයේ, ඔබට සුරැකීමට අවශ්‍ය එක් එක් විකල්පය සඳහා පිරික්සුම් කොටු සාදන්න. උදාහරණයක් වශයෙන් :

<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. ඔබේ පෝරමය ඉදිරිපත් කිරීමේ සැකසුම් තර්කනය තුළ, තෝරාගත් පිරික්සුම් කොටු වල අගයන් ලබාගෙන ඒවා දත්ත ගබඩාවේ ගබඩා කරන්න. උදාහරණයක් වශයෙන් :

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

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

මෙය JSON කේතනය කළ අරාවක් ලෙස "විකල්ප" ක්ෂේත්‍රයේ තෝරාගත් පිරික්සුම් කොටු වල අගයන් ගබඩා කරයි. ඔබ දත්ත සමුදායෙන් වාර්තාව ලබා ගන්නා විට JSON අරාව විකේතනය කිරීමෙන් ඔබට තෝරාගත් අගයන් ලබාගෙන ප්‍රදර්ශනය කළ හැක.

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

Laravel හි බහු පිරික්සුම් කොටු අගයන් ගබඩා කිරීමට නියැදි කේත

Laravel හි දත්ත ගබඩාවක බහු පිරික්සුම් කොටු වල අගයන් ගබඩා කිරීම සඳහා නියැදි කේත කිහිපයක් මෙන්න:

"බූලියන්" ආකාරයේ ක්ෂේත්රයක් භාවිතා කරන්න

"පරිශීලකයින්" වගුවේ "subscription_newsletter" බූලියන් තීරුව නිර්මාණය කිරීම:

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

පෝරමය ඉදිරිපත් කිරීමේදී පුවත් පත්‍රිකාවට පරිශීලකයාගේ දායකත්වය ලියාපදිංචි කිරීම:

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

"පෙළ" ආකාරයේ ක්ෂේත්රයක් භාවිතා කරන්න

"සමීක්ෂණය" වගුවේ පෙළ වර්ගයෙහි "options_sélectionées" තීරුව නිර්මාණය කිරීම:

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

පෝරමය ඉදිරිපත් කිරීමේදී පරිශීලකයා විසින් තෝරාගත් විකල්ප සුරැකීම:

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

සම්බන්ධතා වගුවක් භාවිතා කරන්න

"id_product" සහ "id_category" තීරු සමඟ "categories_products" වගුව නිර්මාණය කිරීම:

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

පෝරමය ඉදිරිපත් කිරීමේදී පරිශීලකයා විසින් තෝරාගත් කාණ්ඩ සුරැකීම:

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

"වගුව" ආකාරයේ ක්ෂේත්රයක් භාවිතා කරන්න

"ඡන්දය" වගුවේ වගු ආකාරයේ "options_selected" තීරුව නිර්මාණය කිරීම (ඔබ PostgreSQL භාවිතා කරන්නේ නම්):

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

පෝරමය ඉදිරිපත් කිරීමේදී පරිශීලකයා විසින් තෝරාගත් විකල්ප සුරැකීම:

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

ඕනෑම අවස්ථාවක, ඔබගේ දත්ත ගබඩාවට සුරැකීමට පෙර ඔබගේ පිරික්සුම් කොටු අගයන් නිසි ලෙස වලංගු කර පිරිසිදු කර ඇති බව සහතික කිරීමට ඔබට අවශ්‍ය වනු ඇති බව සැලකිල්ලට ගැනීම වැදගත්ය. මේ සඳහා ඔබට Laravel හි වලංගුකරණ පාලක සහ දත්ත පෙරහන් භාවිතා කළ හැකිය.

[සමස්ත: 1 අදහස්: 5]

ලියන ලද්දේ ඇන්ටන් ගිල්ඩබ්‍රෑන්ඩ්

ඇන්ටන් යනු ඔහුගේ සගයන් සහ සංවර්ධක ප්‍රජාව සමඟ කේත ඉඟි සහ විසඳුම් බෙදා ගැනීමට දැඩි උනන්දුවක් දක්වන සම්පූර්ණ තොග සංවර්ධකයෙකි. ඉදිරිපස සහ පසු අන්ත තාක්ෂණයන්හි ශක්තිමත් පසුබිමක් ඇති ඇන්ටන් විවිධ ක්‍රමලේඛන භාෂා සහ රාමු වල ප්‍රවීණයෙකි. ඔහු සබැඳි සංවර්ධක සංසදවල ක්‍රියාකාරී සාමාජිකයෙකු වන අතර ක්‍රමලේඛන අභියෝග විසඳීමට අන් අයට උපකාර කිරීමට අදහස් සහ විසඳුම් නිතිපතා දායක වේ. ඔහුගේ විවේක කාලය තුළ, ඇන්ටන් ක්ෂේත්‍රයේ නවතම ප්‍රවණතා සහ තාක්ෂණයන් පිළිබඳව යාවත්කාලීනව සිටීමට සහ නව මෙවලම් සහ රාමු සමඟ අත්හදා බැලීමට ප්‍රිය කරයි.

අදහස අත්හැර

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය ප්‍රකාශයට පත් නොකෙරේ. අවශ්ය ක්ෂේත්ර සලකුණු වේ *

ඔයා සිතන්නේ කුමක් ද?