in ,

Yadda ake adana ƙimar Akwatin ajiya da yawa a cikin bayanan bayanai a Laravel?

Ina buƙatar adana ƙimar akwati a cikin bayanan bayanai a Laravel. Yadda za a yi?

Yadda ake adana ƙimar Akwatin ajiya da yawa a cikin bayanan bayanai a Laravel?
Yadda ake adana ƙimar Akwatin ajiya da yawa a cikin bayanan bayanai a Laravel?

Akwai hanyoyi da yawa don adana ƙimar akwatunan rajistan shiga da yawa a cikin bayanan bayanai a Laravel. Ga wasu zaɓuɓɓuka:

  1. Yi amfani da filin nau'in "boolean". : kowace akwati za a iya ajiyewa a matsayin "gaskiya" ko "ƙarya" a cikin nau'in nau'in boolean a cikin bayananku.
  2. Yi amfani da filin nau'in "rubutu". : zaku iya adana kimar duk akwatunan rajistan shiga cikin filin nau'in rubutu, kuna raba kowace ƙima tare da waƙafi. Misali, idan mai amfani ya duba akwatunan "'ya'yan itatuwa" da "kayan lambu", zaku iya ajiye wannan bayanin azaman "'ya'yan itatuwa, kayan lambu" a cikin filin nau'in rubutu.
  3. Yi amfani da teburin dangantaka : idan kuna da akwatunan rajista da yawa waɗanda ke da alaƙa da rikodin iri ɗaya, zaku iya amfani da tebur mai alaƙa don adana wannan bayanan. Misali, idan kuna da tebur "samfuran" mai ginshiƙin "categories", zaku iya ƙirƙirar tebur "samfurin_categories" wanda ke haɗa nau'ikan da aka zaɓa zuwa kowane samfuri.
  4. Yi amfani da filin nau'in "tebur". : Idan kuna amfani da bayanan da ke goyan bayan tsararru (kamar PostgreSQL), zaku iya adana ƙimar akwatunan rajistan yawa a cikin nau'in nau'in tsararru. Wannan zai ba ku damar adana ƙima mai yawa a cikin fage guda ba tare da yin amfani da teburin dangantaka ba.

Ajiye ƙimar akwatuna da yawa a cikin ma'ajin bayanai ta amfani da tsararru

A cikin Laravel, zaku iya adana ƙimar akwatuna da yawa a cikin ma'ajin bayanai ta amfani da tsararru don adana ƙimar a cikin fage guda. Ga misalin yadda zaku iya yin shi:

1. Ƙirƙiri ƙaura don ƙara filin zuwa teburin bayananku don adana ƙimar akwati. Misali, idan kuna son adana dabi'u a cikin filin da ake kira "zaɓuɓɓuka", zaku iya amfani da ƙaura mai zuwa:

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. A cikin fom ɗin ku, ƙirƙirar akwatunan rajista don kowane zaɓi da kuke son adanawa. Misali :

<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. A cikin dabarar aiwatar da ƙaddamar da fom ɗin ku, dawo da ƙimar akwatunan rajistan da aka zaɓa kuma adana su a cikin bayanan. Misali :

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

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

Wannan yana adana ƙimar akwatunan rajistan da aka zaɓa a cikin filin "zaɓi" azaman tsararrun tsararrun JSON. Hakanan zaka iya dawo da nuna ƙimar da aka zaɓa ta hanyar yanke tsarin JSON lokacin da kake dawo da rikodin daga bayanan.

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

Lambobin samfura don adana ƙimar akwatuna da yawa a cikin Laravel

Anan akwai wasu samfuran samfura don adana ƙimar akwatuna masu yawa a cikin bayanan bayanai a Laravel:

Yi amfani da filin nau'in "boolean".

Ƙirƙirar "subscription_newsletter" boolean ginshiƙi a cikin "masu amfani" tebur:

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

Rajista na biyan kuɗin mai amfani zuwa wasiƙar labarai lokacin ƙaddamar da fom:

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

Yi amfani da filin nau'in "rubutu".

Ƙirƙirar ginshiƙin "options_sélectionées" na nau'in rubutu a cikin "bincike" tebur:

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

Ajiye zaɓuɓɓukan da mai amfani ya zaɓa lokacin ƙaddamar da fom:

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

Yi amfani da teburin dangantaka

Ƙirƙirar tebur "categories_products" tare da ginshiƙan "id_product" da "id_category":

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

Ajiye nau'ikan da mai amfani ya zaɓa lokacin ƙaddamar da fom:

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

Yi amfani da filin nau'in "tebur".

Ƙirƙirar ginshiƙin "zaɓi_selected" na nau'in tebur a cikin "zaɓe" (idan kuna amfani da PostgreSQL):

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

Ajiye zaɓuɓɓukan da mai amfani ya zaɓa lokacin ƙaddamar da fom:

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

Yana da mahimmanci a lura cewa, a kowane hali, kuna buƙatar tabbatar da cewa an inganta ƙimar akwatunan rajistan ku da kyau kuma an tsaftace su kafin a adana ku zuwa bayananku. Kuna iya amfani da masu sarrafa ingancin Laravel da masu tace bayanai don wannan.

[Gaba daya: 1 Ma'ana: 5]

Written by Anton Gildebrand

Anton cikakken mai haɓakawa ne mai sha'awar raba shawarwarin lambar da mafita tare da abokan aikinsa da al'ummar haɓaka. Tare da ingantaccen tushe a fasahar gaba da ƙarshen baya, Anton ya ƙware a cikin harsunan shirye-shirye iri-iri da tsarin aiki. Shi memba ne mai ƙwazo na dandalin masu haɓaka kan layi kuma yana ba da gudummawar ra'ayoyi da mafita akai-akai don taimakawa wasu magance ƙalubalen shirye-shirye. A cikin lokacin da ya keɓe, Anton yana jin daɗin ci gaba da sabuntawa akan sabbin abubuwa da fasahohi a fagen da gwaji tare da sabbin kayan aiki da tsarin.

Leave a comment

Adireshin imel ba za a buga ba. Da ake bukata filayen suna alama *

Me kuke tunani?

387 points
Upvote Downvote