មានវិធីជាច្រើនដើម្បីរក្សាទុកតម្លៃនៃប្រអប់ធីកច្រើននៅក្នុងមូលដ្ឋានទិន្នន័យនៅក្នុង Laravel ។ នេះគឺជាជម្រើសមួយចំនួន៖
- ប្រើវាលប្រភេទ "ប៊ូលីន" ៖ ប្រអប់ធីកនីមួយៗអាចត្រូវបានរក្សាទុកជា "ពិត" ឬ "មិនពិត" នៅក្នុងវាលប្រភេទប៊ូលីនក្នុងមូលដ្ឋានទិន្នន័យរបស់អ្នក។
- ប្រើវាលប្រភេទ "អត្ថបទ" ៖ អ្នកអាចរក្សាទុកតម្លៃនៃប្រអប់ធីកទាំងអស់ក្នុងវាលប្រភេទអត្ថបទ ដោយបំបែកតម្លៃនីមួយៗដោយសញ្ញាក្បៀស។ ឧទាហរណ៍ ប្រសិនបើអ្នកប្រើធីកប្រអប់ "ផ្លែឈើ" និង "បន្លែ" អ្នកអាចរក្សាទុកព័ត៌មាននេះជា "ផ្លែឈើ បន្លែ" ក្នុងប្រអប់ប្រភេទអត្ថបទ។
- ប្រើតារាងទំនាក់ទំនង ៖ ប្រសិនបើអ្នកមានប្រអប់ធីកជាច្រើនដែលត្រូវបានភ្ជាប់ទៅកំណត់ត្រាដូចគ្នា អ្នកអាចប្រើតារាងទំនាក់ទំនងដើម្បីរក្សាទុកទិន្នន័យនេះ។ ឧទាហរណ៍ ប្រសិនបើអ្នកមានតារាង "ផលិតផល" ដែលមានជួរឈរ "ប្រភេទ" អ្នកអាចបង្កើតតារាង "product_categories" ដែលភ្ជាប់ប្រភេទដែលបានជ្រើសរើសទៅផលិតផលនីមួយៗ។
- ប្រើវាលប្រភេទ "តារាង" ៖ ប្រសិនបើអ្នកកំពុងប្រើមូលដ្ឋានទិន្នន័យដែលគាំទ្រអារេ (ដូចជា PostgreSQL) អ្នកអាចរក្សាទុកតម្លៃនៃប្រអប់ធីកច្រើននៅក្នុងវាលប្រភេទអារេមួយ។ វានឹងអនុញ្ញាតឱ្យអ្នករក្សាទុកតម្លៃច្រើននៅក្នុងវាលតែមួយដោយមិនចាំបាច់ប្រើតារាងទំនាក់ទំនង។
មាតិកា
រក្សាទុកតម្លៃប្រអប់ធីកច្រើននៅក្នុងមូលដ្ឋានទិន្នន័យដោយប្រើអារេមួយ។
នៅក្នុង Laravel អ្នកអាចរក្សាទុកតម្លៃប្រអប់ធីកច្រើននៅក្នុងមូលដ្ឋានទិន្នន័យដោយប្រើអារេដើម្បីរក្សាទុកតម្លៃក្នុងវាលតែមួយ។ នេះជាឧទាហរណ៍មួយអំពីរបៀបដែលអ្នកអាចធ្វើបាន៖
1. បង្កើតការធ្វើចំណាកស្រុក ដើម្បីបន្ថែមវាលមួយទៅក្នុងតារាងមូលដ្ឋានទិន្នន័យរបស់អ្នក ដើម្បីរក្សាទុកតម្លៃប្រអប់ធីក។ ឧទាហរណ៍ ប្រសិនបើអ្នកចង់រក្សាទុកតម្លៃក្នុងវាលដែលហៅថា "ជម្រើស" អ្នកអាចប្រើការផ្ទេរទិន្នន័យខាងក្រោម៖
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. ក្នុងទម្រង់របស់អ្នក បង្កើតប្រអប់ធីកសម្រាប់ជម្រើសនីមួយៗដែលអ្នកចង់រក្សាទុក។ ឧទាហរណ៍៖
<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. នៅក្នុងតក្កវិជ្ជាដំណើរការការបញ្ជូនទម្រង់របស់អ្នក ទាញយកតម្លៃនៃប្រអប់ធីកដែលបានជ្រើសរើស ហើយរក្សាទុកវានៅក្នុងមូលដ្ឋានទិន្នន័យ។ ឧទាហរណ៍៖
$options = $request->input('options');
$model = new Model();
$model->options = json_encode($options);
$model->save();
វារក្សាទុកតម្លៃនៃប្រអប់ធីកដែលបានជ្រើសរើសនៅក្នុងវាល "ជម្រើស" ជាអារេដែលបានអ៊ិនកូដ JSON ។ បន្ទាប់មកអ្នកអាចទាញយក និងបង្ហាញតម្លៃដែលបានជ្រើសរើសដោយការឌិកូដអារេ JSON នៅពេលអ្នកទាញយកកំណត់ត្រាពីមូលដ្ឋានទិន្នន័យ។
$model = Model::find($id);
$options = json_decode($model->options);
កូដគំរូដើម្បីរក្សាទុកតម្លៃប្រអប់ធីកច្រើននៅក្នុង Laravel
នេះគឺជាកូដគំរូមួយចំនួនសម្រាប់រក្សាទុកតម្លៃនៃប្រអប់ធីកច្រើននៅក្នុងមូលដ្ឋានទិន្នន័យនៅក្នុង Laravel៖
ប្រើវាលប្រភេទ "ប៊ូលីន"
ការបង្កើតជួរឈរប៊ូលីន "subscription_newsletter" នៅក្នុងតារាង "អ្នកប្រើប្រាស់"៖
Schema::table('utilisateurs', function (Blueprint $table) {
$table->boolean('abonnement_newsletter')->default(0);
});
ការចុះឈ្មោះការជាវរបស់អ្នកប្រើប្រាស់ទៅកាន់ព្រឹត្តិបត្រព័ត៌មាននៅពេលដាក់ស្នើទម្រង់៖
$utilisateur = new Utilisateur;
$utilisateur->abonnement_newsletter = $request->input('abonnement_newsletter');
$utilisateur->save();
ប្រើវាលប្រភេទ "អត្ថបទ"
ការបង្កើតជួរឈរ "options_sélectionées" នៃប្រភេទអត្ថបទនៅក្នុងតារាង "ការស្ទង់មតិ"៖
Schema::table('sondage', function (Blueprint $table) {
$table->text('options_sélectionnées');
});
ការរក្សាទុកជម្រើសដែលបានជ្រើសរើសដោយអ្នកប្រើប្រាស់នៅពេលដាក់ស្នើទម្រង់៖
$sondage = new Sondage;
$sondage->options_sélectionnées = implode(',', $request->input('options'));
$sondage->save();
ប្រើតារាងទំនាក់ទំនង
ការបង្កើតតារាង "categories_products" ជាមួយនឹងជួរឈរ "id_product" និង "id_category"៖
Schema::create('catégories_produits', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('id_produit');
$table->integer('id_catégorie');
$table->timestamps();
});
ការរក្សាទុកប្រភេទដែលបានជ្រើសរើសដោយអ្នកប្រើប្រាស់នៅពេលដាក់ស្នើទម្រង់៖
$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();
}
ប្រើវាលប្រភេទ "តារាង"
ការបង្កើតជួរឈរ "options_selected" នៃប្រភេទតារាងក្នុងតារាង "ការស្ទង់មតិ" (ប្រសិនបើអ្នកប្រើ PostgreSQL)៖
Schema::table('sondage', function (Blueprint $table) {
$table->jsonb('options_sélectionnées');
});
ការរក្សាទុកជម្រើសដែលបានជ្រើសរើសដោយអ្នកប្រើប្រាស់នៅពេលដាក់ស្នើទម្រង់៖
$sondage = new Sondage;
$sondage->options_sélectionnées = $request->input('options');
$sondage->save();
វាជាការសំខាន់ក្នុងការកត់សម្គាល់ថាក្នុងករណីណាក៏ដោយអ្នកនឹងត្រូវធានាថាតម្លៃប្រអប់ធីករបស់អ្នកត្រូវបានបញ្ជាក់ត្រឹមត្រូវនិងសម្អាតមុនពេលត្រូវបានរក្សាទុកទៅក្នុងមូលដ្ឋានទិន្នន័យរបស់អ្នក។ អ្នកអាចប្រើឧបករណ៍បញ្ជាសុពលភាព និងតម្រងទិន្នន័យរបស់ Laravel សម្រាប់ការនេះ។