in ,

Laravel માં ડેટાબેઝમાં બહુવિધ ચેકબોક્સ મૂલ્યો કેવી રીતે સંગ્રહિત કરવી?

મારે 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 માં બહુવિધ ચેકબોક્સ મૂલ્યો સંગ્રહિત કરવા માટે નમૂના કોડ

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" કૉલમ સાથે કોષ્ટક "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]

દ્વારા લખાયેલી એન્ટોન ગિલ્ડેબ્રાન્ડ

એન્ટોન તેના સાથીદારો અને વિકાસકર્તા સમુદાય સાથે કોડ ટીપ્સ અને સોલ્યુશન્સ શેર કરવા માટે ઉત્સાહી સંપૂર્ણ સ્ટેક ડેવલપર છે. ફ્રન્ટ-એન્ડ અને બેક-એન્ડ તકનીકોમાં નક્કર પૃષ્ઠભૂમિ સાથે, એન્ટોન વિવિધ પ્રોગ્રામિંગ ભાષાઓ અને ફ્રેમવર્કમાં નિપુણ છે. તે ઓનલાઈન ડેવલપર ફોરમના સક્રિય સભ્ય છે અને પ્રોગ્રામિંગ પડકારોને ઉકેલવામાં અન્ય લોકોને મદદ કરવા માટે નિયમિતપણે વિચારો અને ઉકેલોનું યોગદાન આપે છે. તેના ફાજલ સમયમાં, એન્ટોનને ક્ષેત્રમાં નવીનતમ વલણો અને તકનીકો પર અદ્યતન રહેવા અને નવા સાધનો અને ફ્રેમવર્ક સાથે પ્રયોગ કરવામાં આનંદ આવે છે.

Laisser યુએન કમેન્ટાયર

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. જરૂરી ક્ષેત્રો ચિહ્નિત થયેલ છે *

તમે શુ વિચારો છો, તમને શુ લાગે છે?