in ,

ווי צו קראָם די וואַלועס פון עטלעכע טשעקקבאָקסעס אין אַ דאַטאַבייס אין לאַראַוועל?

איך דאַרפֿן צו קראָם טשעקקבאָקס וואַלועס אין די דאַטאַבייס אין לאַראַוועל. ווי אזוי צו טון ?

ווי צו קראָם די וואַלועס פון עטלעכע טשעקקבאָקסעס אין אַ דאַטאַבייס אין לאַראַוועל?
ווי צו קראָם די וואַלועס פון עטלעכע טשעקקבאָקסעס אין אַ דאַטאַבייס אין לאַראַוועל?

עס זענען עטלעכע וועגן צו קראָם די וואַלועס פון קייפל טשעקקבאָקסעס אין אַ דאַטאַבייס אין לאַראַוועל. דאָ זענען עטלעכע אָפּציעס:

  1. ניצן אַ "בוליאַן" טיפּ פעלד : יעדער טשעקקבאָקס קענען זיין געראטעוועט ווי "אמת" אָדער "פאַלש" אין אַ בוליאַן טיפּ פעלד אין דיין דאַטאַבייס.
  2. ניצן אַ "טעקסט" טיפּ פעלד : איר קענען קראָם די וואַלועס פון אַלע אָפּגעשטעלט טשעקקבאָקסעס אין אַ טעקסט טיפּ פעלד, סעפּערייטינג יעדער ווערט מיט אַ קאָמע. פֿאַר בייַשפּיל, אויב דער באַניצער אָפּגעשטעלט די "פירות" און "וועדזשטאַבאַלז" באָקסעס, איר קענען ראַטעווען די אינפֿאָרמאַציע ווי "פירות, וועדזשטאַבאַלז" אין אַ טעקסט טיפּ פעלד.
  3. ניצן אַ שייכות טיש : אויב איר האָבן עטלעכע טשעקקבאָקסעס וואָס זענען לינגקט צו דער זעלביקער רעקאָרד, איר קענען נוצן אַ באַציונג טיש צו קראָם די דאַטן. פֿאַר בייַשפּיל, אויב איר האָבן אַ "פּראָדוקטן" טיש מיט אַ "קאַטעגאָריעס" זייַל, איר קענען מאַכן אַ "פּראָדוקט_קאַטעגאָריעס" טיש וואָס פֿאַרבינדט די אויסגעקליבן קאַטעגאָריעס צו יעדער פּראָדוקט.
  4. ניצן אַ "טיש" טיפּ פעלד : אויב איר נוצן אַ דאַטאַבייס וואָס שטיצט ערייז (ווי PostgreSQL), איר קענען קראָם די וואַלועס פון קייפל טשעקקבאָקסעס אין אַ מענגע טיפּ פעלד. דאָס וועט לאָזן איר צו קראָם קייפל וואַלועס אין אַ איין פעלד אָן ניצן אַ שייכות טיש.

סטאָר קייפל טשעקקבאָקס וואַלועס אין אַ דאַטאַבייס מיט אַ מענגע

אין לאַראַוועל, איר קענען קראָם קייפל טשעקקבאָקס וואַלועס אין אַ דאַטאַבייס דורך ניצן אַ מענגע צו קראָם די וואַלועס אין אַ איין פעלד. דאָ איז אַ בייַשפּיל פון ווי איר קענען טאָן דאָס:

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

ניצן אַ שייכות טיש

שאַפונג פון די טיש "קאַטעגאָריעס_פּראָדוקטן" מיט די שפאלטן "יד_פּראָדוקט" און "יד_קאַטעגאָריע":

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

ניצן אַ "טיש" טיפּ פעלד

שאַפונג פון די זייַל "אָפּציעס_סעלעקטעד" פון טיש טיפּ אין די טיש "פּאָלל" (אויב איר נוצן 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 ינדזשויז צו בלייבן דערהייַנטיקט מיט די לעצטע טרענדס און טעקנאַלאַדזשיז אין דעם פעלד און עקספּעראַמענטינג מיט נייַע מכשירים און פראַמעוואָרקס.

לאָזן אַ באַמערקונג

אייער בליצפּאָסט אַדרעס וועט נישט זיין ארויס. פארלאנגט פעלדער זענען אנגעצייכנט *

וואָס טאָן איר טראַכטן?

387 ווייזט
Upvote Downvote