E tele auala e teu ai tau o le tele o pusa siaki i totonu o faʻamaumauga i Laravel. O nisi nei o filifiliga:
- Fa'aoga se fanua ituaiga "boolean". : e mafai ona fa'asaoina pusa siaki ta'itasi o le "sa'o" po'o le "sese" i totonu o se fanua ituaiga boolean i lau fa'amaumauga.
- Fa'aoga se fanua ituaiga "tusitala". : e mafai ona e teuina fa'atauga o pusa siaki uma i totonu o se fanua ituaiga tusitusiga, vavae'ese tau ta'itasi ma se koma. Mo se faʻataʻitaʻiga, afai e siaki e le tagata faʻaoga pusa "fua" ma "fualaau faisua", e mafai ona e faʻasaoina lenei faʻamatalaga e avea ma "fua, fualaʻau" i totonu o le ituaiga tusitusiga.
- Fa'aaoga se laulau faifa'atasi : afai e tele au pusa siaki e fesoʻotaʻi i le faʻamaumauga tutusa, e mafai ona e faʻaogaina se laulau faʻafesoʻotaʻi e teu ai nei faʻamatalaga. Mo se fa'ata'ita'iga, afai e iai sau laulau "oloa" ma se koluma "vaega", e mafai ona e faia se laulau "product_categories" e fa'afeso'ota'i vaega filifilia i oloa ta'itasi.
- Fa'aoga se fanua ituaiga "laufa'atasi". : Afai o loʻo e faʻaogaina se faʻamaumauga e lagolagoina ai faʻasologa (pei o PostgreSQL), e mafai ona e teuina faʻatauga o le tele o pusa siaki i totonu o se laina ituaiga fanua. O lenei mea o le a faʻatagaina oe e teuina ni faʻatauga se tele i se fanua e tasi e aunoa ma le faʻaaogaina o se laulau faʻatasi.
Lisi o mea
Teu le tele o pusa siaki i totonu o se faʻamaumauga e faʻaaoga ai se laina
I Laravel, e mafai ona e teuina le tele o pusa siaki i totonu o faʻamaumauga e ala i le faʻaogaina o se laina e teu ai tau i totonu o se fanua e tasi. O se faʻataʻitaʻiga lenei o le auala e mafai ai ona e faia:
1. Fausia se femalaga'iga e fa'aopoopo ai se fanua i lau laulau fa'amaumauga e teu ai fa'atauga o pusa siaki. Mo se faʻataʻitaʻiga, afai e te manaʻo e teu mea taua i totonu o se fanua e taʻua o "filifiliga", e mafai ona e faʻaogaina le femalagaiga nei:
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. I lau fomu, fai pusa siaki mo filifiliga ta'itasi e te mana'o e teu. O lesi foi mea :
<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. I lau fomu tu'uina atu manatu fa'agaioiga, toe aumai fa'atauga o pusa siaki filifilia ma teu i totonu o fa'amaumauga. O lesi foi mea :
$options = $request->input('options');
$model = new Model();
$model->options = json_encode($options);
$model->save();
Ole mea lea e teu ai tau o pusa siaki filifilia i le "filifiliga" fanua e pei o se laina faʻapipiʻi JSON. E mafai ona e toe aumai ma faʻaalia tulaga taua filifilia e ala i le faʻavasegaina o le JSON array pe a e toe aumai le faʻamaumauga mai le faʻamaumauga.
$model = Model::find($id);
$options = json_decode($model->options);
Faʻataʻitaʻiga tulafono e teu ai le tele o pusa siaki i Laravel
O nisi nei o faʻataʻitaʻiga faʻataʻitaʻiga mo le teuina o tau o le tele o pusa siaki i totonu o faʻamaumauga i Laravel:
Fa'aoga se fanua ituaiga "boolean".
Fausia le koluma "subscription_newsletter" boolean i le laulau "tagata fa'aoga":
Schema::table('utilisateurs', function (Blueprint $table) {
$table->boolean('abonnement_newsletter')->default(0);
});
Fa'amauina o le lesitala a le tagata fa'aoga i le nusipepa pe a tu'uina atu le fomu:
$utilisateur = new Utilisateur;
$utilisateur->abonnement_newsletter = $request->input('abonnement_newsletter');
$utilisateur->save();
Fa'aoga se fanua ituaiga "tusitala".
Faia o le "options_séléctionées" koluma o ituaiga tusitusiga i le laulau "survey":
Schema::table('sondage', function (Blueprint $table) {
$table->text('options_sélectionnées');
});
Fa'asaoina o filifiliga na filifilia e le tagata fa'aoga pe a tu'uina atu le fomu:
$sondage = new Sondage;
$sondage->options_sélectionnées = implode(',', $request->input('options'));
$sondage->save();
Fa'aaoga se laulau faifa'atasi
Fausia o le laulau "categories_products" ma koluma "id_product" ma le "id_category":
Schema::create('catégories_produits', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('id_produit');
$table->integer('id_catégorie');
$table->timestamps();
});
Fa'asaoina vaega ua filifilia e le tagata fa'aoga pe a tu'uina atu le fomu:
$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();
}
Fa'aoga se fanua ituaiga "laufa'atasi".
Fausia o le koluma "options_selected" o le ituaiga laulau i le laulau "poll" (pe a e faʻaaogaina PostgreSQL):
Schema::table('sondage', function (Blueprint $table) {
$table->jsonb('options_sélectionnées');
});
Fa'asaoina o filifiliga na filifilia e le tagata fa'aoga pe a tu'uina atu le fomu:
$sondage = new Sondage;
$sondage->options_sélectionnées = $request->input('options');
$sondage->save();
E taua le maitauina, i soʻo se tulaga, e te manaʻomia le faʻamautinoa o loʻo faʻamaonia lelei ma faʻamamaina au pusa siaki aʻo leʻi faʻasaoina i lau faʻamaumauga. E mafai ona e fa'aogaina Laravel's validation controllers ma fa'amaumauga mo lenei mea.