Nui nā ala e mālama ai i nā waiwai o nā pahu pahu he nui i kahi waihona ma Laravel. Eia kekahi mau koho:
- E hoʻohana i kahi kahua ʻano "boolean". : Hiki ke mālama ʻia kēlā me kēia pahu pahu ma ke ʻano he "ʻoiaʻiʻo" a i ʻole "hewa" ma kahi kahua ʻano boolean i kāu waihona.
- E hoʻohana i kahi kahua ʻano "text". : hiki iā ʻoe ke mālama i nā koina o nā pahu pahu i hoʻopaʻa ʻia i loko o kahi kahua ʻano kikokikona, e hoʻokaʻawale i kēlā me kēia waiwai me kahi koma. No ka laʻana, inā nānā ka mea hoʻohana i nā pahu "hua" a me nā "mea kanu", hiki iā ʻoe ke mālama i kēia ʻike ma ke ʻano he "hua, huaʻai" ma kahi kahua ʻano kikokikona.
- E hoʻohana i kahi papa pilina : inā loaʻa iā ʻoe kekahi mau pahu pahu i hoʻopili ʻia i ka moʻolelo like, hiki iā ʻoe ke hoʻohana i kahi papa pili e mālama i kēia ʻikepili. No ka laʻana, inā loaʻa iā ʻoe kahi papaʻaina "huahana" me kahi kolamu "māhele", hiki iā ʻoe ke hana i kahi pākaukau "product_categories" e hoʻopili i nā waeʻano i kēlā me kēia huahana.
- E hoʻohana i kahi kahua ʻano "papa". : Inā ʻoe e hoʻohana nei i kahi waihona e kākoʻo ana i nā arrays (e like me PostgreSQL), hiki iā ʻoe ke mālama i nā waiwai o nā pahu pahu he nui i kahi kahua ʻano array. E ʻae kēia iā ʻoe e mālama i nā waiwai he nui i ka pā hoʻokahi me ka ʻole e hoʻohana i kahi papa pilina.
E mālama i nā koina pahu pahu he nui i loko o kahi waihona me ka hoʻohana ʻana i kahi array
Ma Laravel, hiki iā ʻoe ke mālama i nā koina pahu pahu he nui i loko o kahi waihona me ka hoʻohana ʻana i kahi ʻano e mālama ai i nā waiwai i hoʻokahi kahua. Eia kekahi laʻana pehea e hiki ai iā ʻoe ke hana:
1. E hana i ka neʻe ʻana e hoʻohui i kahi kahua i kāu papa ʻikepili e mālama i nā waiwai pahu pahu. No ka laʻana, inā makemake ʻoe e mālama i nā waiwai ma kahi kahua i kapa ʻia ʻo "koho", hiki iā ʻoe ke hoʻohana i ka neʻe ʻana:
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. Ma kāu ʻano, hana i nā pahu pahu no kēlā me kēia koho āu e makemake ai e mālama. ʻo kahi laʻana :
<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. Ma kāu palapala hoʻouna hoʻoponopono loiloi, kiʻi i nā waiwai o nā pahu i koho ʻia a mālama iā lākou i loko o ka waihona. ʻo kahi laʻana :
$options = $request->input('options');
$model = new Model();
$model->options = json_encode($options);
$model->save();
Mālama kēia i nā waiwai o nā pahu koho i koho ʻia ma ke kahua "koho" ma ke ʻano he JSON i hoʻopili ʻia. Hiki iā ʻoe ke kiʻi a hōʻike i nā waiwai i koho ʻia ma ka hoʻokaʻawale ʻana i ka array JSON ke kiʻi ʻoe i ka moʻolelo mai ka waihona.
$model = Model::find($id);
$options = json_decode($model->options);
Nā code laʻana no ka mālama ʻana i nā waiwai pahu pahu ma Laravel
Eia kekahi mau laʻana code no ka mālama ʻana i nā waiwai o nā pahu pahu he nui i kahi waihona ma Laravel:
E hoʻohana i kahi kahua ʻano "boolean".
Ka hana ʻana i ke kolamu boolean "subscription_newsletter" ma ka papa "mea hoʻohana":
Schema::table('utilisateurs', function (Blueprint $table) {
$table->boolean('abonnement_newsletter')->default(0);
});
Kakau inoa o ka mea hoʻohana i ka nūhou i ka wā e waiho ana i ka palapala:
$utilisateur = new Utilisateur;
$utilisateur->abonnement_newsletter = $request->input('abonnement_newsletter');
$utilisateur->save();
E hoʻohana i kahi kahua ʻano "text".
Ka hana 'ana i ke kolamu "options_séléctionées" o ke 'ano kikokikona ma ka papa "survey":
Schema::table('sondage', function (Blueprint $table) {
$table->text('options_sélectionnées');
});
Mālama i nā koho i koho ʻia e ka mea hoʻohana i ka wā e waiho ana i ka palapala:
$sondage = new Sondage;
$sondage->options_sélectionnées = implode(',', $request->input('options'));
$sondage->save();
E hoʻohana i kahi papa pilina
Ka hana ʻana i ka papa "categories_products" me nā kolamu "id_product" a me "id_category":
Schema::create('catégories_produits', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('id_produit');
$table->integer('id_catégorie');
$table->timestamps();
});
Mālama i nā waeʻano i koho ʻia e ka mea hoʻohana i ka wā e waiho ana i ka palapala:
$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();
}
E hoʻohana i kahi kahua ʻano "papa".
Ka hana ʻana o ke kolamu "options_selected" o ke ʻano papa ma ka papa "poll" (inā ʻoe e hoʻohana i ka PostgreSQL):
Schema::table('sondage', function (Blueprint $table) {
$table->jsonb('options_sélectionnées');
});
Mālama i nā koho i koho ʻia e ka mea hoʻohana i ka wā e waiho ana i ka palapala:
$sondage = new Sondage;
$sondage->options_sélectionnées = $request->input('options');
$sondage->save();
He mea nui ia e hoʻomaopopo i kēlā, i kēlā me kēia hihia, pono ʻoe e hōʻoia i ka hōʻoia pono ʻana a hoʻomaʻemaʻe ʻia kāu helu pahu pahu ma mua o ka mālama ʻana i kāu waihona. Hiki iā ʻoe ke hoʻohana i nā mana hōʻoia o Laravel a me nā kānana data no kēia.