Tá roinnt bealaí ann chun luachanna na mboscaí seiceála iolracha a stóráil i mbunachar sonraí i Laravel. Seo roinnt roghanna:
- Úsáid réimse den chineál “boolean”. : is féidir gach ticbhosca a shábháil mar "fíor" nó "bréagach" i réimse de chineál Boole i do bhunachar sonraí.
- Bain úsáid as réimse cineáil "téacs". : is féidir leat luachanna na mbosca seiceála go léir a stóráil i réimse cineál téacs, ag scaradh gach luach le camóg. Mar shampla, má sheiceáil an t-úsáideoir na boscaí "torthaí" agus "glasraí", is féidir leat an fhaisnéis seo a shábháil mar "torthaí, glasraí" i réimse cineál téacs.
- Bain úsáid as tábla caidrimh : má tá roinnt ticbhoscaí agat atá nasctha leis an taifead céanna, is féidir leat tábla caidrimh a úsáid chun na sonraí seo a stóráil. Mar shampla, má tá tábla "táirgí" agat le colún "catagóirí", is féidir leat tábla "product_categories" a chruthú a nascann na catagóirí roghnaithe le gach táirge.
- Úsáid réimse den chineál “tábla”. : Má tá bunachar sonraí á úsáid agat a thacaíonn le eagair (cosúil le PostgreSQL), is féidir leat luachanna ticbhoscaí iolracha a stóráil i réimse cineál eagar. Tabharfaidh sé seo deis duit luachanna iolracha a stóráil i réimse amháin gan a bheith ort tábla caidrimh a úsáid.
Clár na n-ábhar
Stóráil luachanna ticbhosca iolracha i mbunachar sonraí ag baint úsáide as eagar
I Laravel, is féidir leat luachanna ticbhosca iolracha a stóráil i mbunachar sonraí trí úsáid a bhaint as eagar chun na luachanna a stóráil i réimse amháin. Seo sampla de conas is féidir leat é a dhéanamh:
1. Cruthaigh imirce chun réimse a chur le tábla do bhunachar sonraí chun luachanna ticbhosca a stóráil. Mar shampla, más mian leat na luachanna a stóráil i réimse ar a dtugtar "roghanna", is féidir leat an imirce seo a leanas a úsáid:
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 d'fhoirm, cruthaigh ticbhoscaí do gach rogha is mian leat a shábháil. Mar shampla :
<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 do loighic próiseála aighneacht fhoirm, a aisghabháil luachanna na ticbhoscaí roghnaithe agus iad a stóráil sa bhunachar sonraí. Mar shampla :
$options = $request->input('options');
$model = new Model();
$model->options = json_encode($options);
$model->save();
Stórálann sé seo luachanna na ticbhoscaí roghnaithe sa réimse "roghanna" mar eagar ionchódaithe JSON. Is féidir leat ansin na luachanna roghnaithe a aisghabháil agus a thaispeáint tríd an eagar JSON a dhíchódú nuair a bheidh tú ag aisghabháil an taifead ón mbunachar sonraí.
$model = Model::find($id);
$options = json_decode($model->options);
Cóid shamplacha chun luachanna ticbhosca iolracha a stóráil i Laravel
Seo roinnt cóid shamplacha chun luachanna ticbhoscaí iolracha a stóráil i mbunachar sonraí i Laravel:
Úsáid réimse den chineál “boolean”.
Cruthú an cholúin Boole “síntiúis_nuachtlitir” sa tábla “úsáideoirí”:
Schema::table('utilisateurs', function (Blueprint $table) {
$table->boolean('abonnement_newsletter')->default(0);
});
Clárú síntiús an úsáideora don nuachtlitir agus an fhoirm á cur isteach:
$utilisateur = new Utilisateur;
$utilisateur->abonnement_newsletter = $request->input('abonnement_newsletter');
$utilisateur->save();
Bain úsáid as réimse cineáil "téacs".
Cruthú an cholúin "options_sélectionées" den chineál téacs sa tábla "suirbhé":
Schema::table('sondage', function (Blueprint $table) {
$table->text('options_sélectionnées');
});
Sábháil na roghanna a roghnaigh an t-úsáideoir agus an fhoirm á cur isteach aige:
$sondage = new Sondage;
$sondage->options_sélectionnées = implode(',', $request->input('options'));
$sondage->save();
Bain úsáid as tábla caidrimh
Cruthú an tábla "categories_products" leis na colúin "id_product" agus "id_category":
Schema::create('catégories_produits', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('id_produit');
$table->integer('id_catégorie');
$table->timestamps();
});
Ag sábháil na gcatagóirí atá roghnaithe ag an úsáideoir agus an fhoirm á cur isteach aige:
$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();
}
Úsáid réimse den chineál “tábla”.
Cruthú an cholúin "options_selected" den chineál tábla sa tábla "vótaíocht" (má úsáideann tú PostgreSQL):
Schema::table('sondage', function (Blueprint $table) {
$table->jsonb('options_sélectionnées');
});
Sábháil na roghanna a roghnaigh an t-úsáideoir agus an fhoirm á cur isteach aige:
$sondage = new Sondage;
$sondage->options_sélectionnées = $request->input('options');
$sondage->save();
Tá sé tábhachtach a thabhairt faoi deara, in aon chás, go mbeidh ort a chinntiú go ndéantar do luachanna ticbhosca a bhailíochtú agus a ghlanadh i gceart sula sábhálfar iad chuig do bhunachar sonraí. Is féidir leat rialaitheoirí bailíochtaithe agus scagairí sonraí Laravel a úsáid chuige seo.