Enwere ọtụtụ ụzọ iji chekwaa ụkpụrụ nke ọtụtụ igbe nbanye na nchekwa data dị na Laravel. Nke a bụ ụfọdụ nhọrọ:
- Jiri mpaghara ụdị "boolean". : Enwere ike ịchekwa igbe nrịbama ọ bụla dị ka "ezi" ma ọ bụ "ụgha" n'ime ụdị boolean na nchekwa data gị.
- Jiri mpaghara ụdị “ederede”. : Ị nwere ike ịchekwa ụkpụrụ nke igbe nlele niile na mpaghara ederede, na-ekewa uru ọ bụla na rikoma. Dịka ọmụmaatụ, ọ bụrụ na onye ọrụ lelee igbe "mkpụrụ osisi" na "akwukwo nri", ị nwere ike ịchekwa ozi a dị ka "mkpụrụ osisi, akwụkwọ nri" n'ụdị ederede.
- Jiri okpokoro mmekọrịta : Ọ bụrụ na ị nwere ọtụtụ igbe nrịbama ejikọtara na otu ndekọ, ị nwere ike iji tebụl mmekọrịta iji chekwaa data a. Dịka ọmụmaatụ, ọ bụrụ na ị nwere tebụl "ngwaahịa" nwere kọlụm "categories", ị nwere ike ịmepụta tebụl "product_categories" nke jikọtara edemede ahọpụtara na ngwaahịa ọ bụla.
- Jiri ubi ụdị "tebụl". : Ọ bụrụ na ị na-eji nchekwa data na-akwado arrays (dị ka PostgreSQL), ị nwere ike ịchekwa ụkpụrụ nke ọtụtụ igbe nlele n'ụdị ụdị nhazi. Nke a ga-enye gị ohere ịchekwa ọtụtụ ụkpụrụ n'otu ubi na-enweghị iji tebụl mmekọrịta.
Ọdịnaya
Chekwaa ọtụtụ ụkpụrụ igbe nbanye na nchekwa data site na iji usoro
Na Laravel, ị nwere ike ịchekwa ọtụtụ ụkpụrụ igbe igbe na nchekwa data site na iji usoro iji chekwaa ụkpụrụ n'otu mpaghara. Nke a bụ ọmụmaatụ otu ị ga-esi mee ya:
1. Mepụta njem iji tinye ubi na tebụl nchekwa data gị iji chekwaa ụkpụrụ igbe igbe. Dịka ọmụmaatụ, ọ bụrụ na ịchọrọ ịchekwa ụkpụrụ na mpaghara a na-akpọ "nhọrọ", ị nwere ike iji njem na-esonụ:
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. N'ụdị gị, mepụta igbe nlele maka nhọrọ ọ bụla ịchọrọ ịchekwa. Ọmụmaatụ :
<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. N'ime usoro nhazi nhazi nke ụdị gị, weghachite ụkpụrụ nke igbe nlele ahọpụtara ma chekwaa ha na nchekwa data. Ọmụmaatụ :
$options = $request->input('options');
$model = new Model();
$model->options = json_encode($options);
$model->save();
Nke a na-echekwa ụkpụrụ nke igbe nrịbama ahọpụtara na mpaghara "nhọrọ" dị ka ihe ndenye JSON. Ị nwere ike iweghachite ma gosipụta ụkpụrụ ahọpụtara site n'ịkwado usoro JSON mgbe ị na-eweghachite ndekọ na nchekwa data.
$model = Model::find($id);
$options = json_decode($model->options);
Koodu nlele iji chekwaa ọtụtụ ụkpụrụ igbe nbanye na Laravel
Nke a bụ ụfọdụ koodu nlele maka ịchekwa ụkpụrụ nke ọtụtụ igbe nlele na nchekwa data dị na Laravel:
Jiri mpaghara ụdị "boolean".
Mepụta kọlụm boolean "subscription_newsletter" na tebụl "ndị ọrụ":
Schema::table('utilisateurs', function (Blueprint $table) {
$table->boolean('abonnement_newsletter')->default(0);
});
Ndebanye aha nke ndenye aha onye ọrụ na akwụkwọ akụkọ mgbe ị na-enyefe fọm:
$utilisateur = new Utilisateur;
$utilisateur->abonnement_newsletter = $request->input('abonnement_newsletter');
$utilisateur->save();
Jiri mpaghara ụdị “ederede”.
Mepụta kọlụm ụdị ederede "options_sélectionées" na tebụl "nyocha":
Schema::table('sondage', function (Blueprint $table) {
$table->text('options_sélectionnées');
});
Ịchekwa nhọrọ nke onye ọrụ họpụtara mgbe ị na-enyefe fọm:
$sondage = new Sondage;
$sondage->options_sélectionnées = implode(',', $request->input('options'));
$sondage->save();
Jiri okpokoro mmekọrịta
Ịmepụta tebụl "categories_products" nwere kọlụm "id_product" na "id_category":
Schema::create('catégories_produits', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('id_produit');
$table->integer('id_catégorie');
$table->timestamps();
});
Ịchekwa ngalaba nke onye ọrụ họpụtara mgbe ị na-enyefe fọm:
$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();
}
Jiri ubi ụdị "tebụl".
Mepụta kọlụm "nhọrọ_selected" nke ụdị tebụl dị na tebụl "ntuli aka" (ọ bụrụ na ị na-eji PostgreSQL):
Schema::table('sondage', function (Blueprint $table) {
$table->jsonb('options_sélectionnées');
});
Ịchekwa nhọrọ nke onye ọrụ họpụtara mgbe ị na-enyefe fọm:
$sondage = new Sondage;
$sondage->options_sélectionnées = $request->input('options');
$sondage->save();
Ọ dị mkpa iburu n'obi na, n'ọnọdụ ọ bụla, ị ga-achọ ijide n'aka na ụkpụrụ igbe nlele gị kwadoro nke ọma ma kpochaa tupu echekwa ya na nchekwa data gị. Ị nwere ike iji njikwa nkwado Laravel na nzacha data maka nke a.