in ,

Laravel मधील डेटाबेसमध्ये एकाधिक चेकबॉक्स मूल्य कसे संग्रहित करावे?

मला लारावेलमधील डेटाबेसमध्ये चेकबॉक्स मूल्ये संग्रहित करण्याची आवश्यकता आहे. कसे करायचे ?

Laravel मधील डेटाबेसमध्ये एकाधिक चेकबॉक्स मूल्य कसे संग्रहित करावे?
Laravel मधील डेटाबेसमध्ये एकाधिक चेकबॉक्स मूल्य कसे संग्रहित करावे?

Laravel मधील डेटाबेसमध्ये एकाधिक चेकबॉक्सची मूल्ये संचयित करण्याचे अनेक मार्ग आहेत. येथे काही पर्याय आहेत:

  1. "बूलियन" प्रकार फील्ड वापरा : प्रत्येक चेकबॉक्स तुमच्या डेटाबेसमधील बुलियन प्रकार फील्डमध्ये "true" किंवा "false" म्हणून सेव्ह केला जाऊ शकतो.
  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 मध्ये एकाधिक चेकबॉक्स मूल्ये संचयित करण्यासाठी नमुना कोड

लारावेलमधील डेटाबेसमध्ये एकाधिक चेकबॉक्सेसची मूल्ये संचयित करण्यासाठी येथे काही नमुना कोड आहेत:

"बूलियन" प्रकार फील्ड वापरा

"सदस्यता_न्यूजलेटर" बुलियन स्तंभाची निर्मिती "वापरकर्ते" सारणीमध्ये:

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" स्तंभांसह "श्रेणी_उत्पादने" सारणीची निर्मिती:

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]

यांनी लिहिलेले अँटोन गिल्डब्रँड

अँटोन एक पूर्ण स्टॅक डेव्हलपर आहे जो त्याच्या सहकाऱ्यांसोबत आणि डेव्हलपर समुदायासह कोड टिपा आणि उपाय सामायिक करण्यास उत्सुक आहे. फ्रंट-एंड आणि बॅक-एंड तंत्रज्ञानाच्या ठोस पार्श्वभूमीसह, अँटोन विविध प्रोग्रामिंग भाषा आणि फ्रेमवर्कमध्ये पारंगत आहे. तो ऑनलाइन डेव्हलपर फोरमचा सक्रिय सदस्य आहे आणि प्रोग्रामिंग आव्हाने सोडवण्यासाठी इतरांना मदत करण्यासाठी नियमितपणे कल्पना आणि उपायांचे योगदान देतो. त्याच्या फावल्या वेळेत, अँटोनला क्षेत्रातील नवीनतम ट्रेंड आणि तंत्रज्ञानाबद्दल अद्ययावत राहणे आणि नवीन साधने आणि फ्रेमवर्कसह प्रयोग करणे आवडते.

Laisser एक commentaire

आपला ईमेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित *

तुला काय वाटत?