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 میں ایک ڈیٹا بیس میں متعدد چیک باکسز کی قدروں کو ذخیرہ کرنے کے لیے کچھ نمونے کے کوڈز یہ ہیں:

"بولین" قسم کا فیلڈ استعمال کریں۔

"صارفین" ٹیبل میں "سبسکرپشن_نیوز لیٹر" بولین کالم کی تخلیق:

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]

تصنیف کردہ انتون گلڈیبرانڈ

Anton ایک مکمل اسٹیک ڈویلپر ہے جو اپنے ساتھیوں اور ڈویلپر کمیونٹی کے ساتھ کوڈ کی تجاویز اور حل کا اشتراک کرنے کا شوق رکھتا ہے۔ فرنٹ اینڈ اور بیک اینڈ ٹیکنالوجیز میں ٹھوس پس منظر کے ساتھ، اینٹن مختلف قسم کی پروگرامنگ زبانوں اور فریم ورک میں ماہر ہے۔ وہ آن لائن ڈویلپر فورمز کا ایک فعال رکن ہے اور پروگرامنگ کے چیلنجوں کو حل کرنے میں دوسروں کی مدد کے لیے باقاعدگی سے آئیڈیاز اور حل فراہم کرتا ہے۔ اپنے فارغ وقت میں، Anton میدان میں تازہ ترین رجحانات اور ٹیکنالوجیز کے بارے میں اپ ٹو ڈیٹ رہنے اور نئے ٹولز اور فریم ورک کے ساتھ تجربہ کرنے سے لطف اندوز ہوتا ہے۔

ایک تبصرہ چھوڑ دو

آپ کا ای میل ایڈریس شائع نہیں کیا جائے گا۔ ضرورت ہے شعبوں نشان لگا دیا گیا *

آپ کا کیا خیال ہے؟

387 پوائنٹ
اپنائیں Downvote