如何在laravel中使用代码索引特定数据库的表列

Posted

技术标签:

【中文标题】如何在laravel中使用代码索引特定数据库的表列【英文标题】:How to index table column of specific database with code in laravel 【发布时间】:2021-10-04 19:55:14 【问题描述】:

我想编写代码来索引特定数据库表列的列。 我正在尝试这种方式

DB::connection('mysql2')->raw("ALTER TABLE `consignments` DROP INDEX customer_reference");

这个过程的正确方法是什么

【问题讨论】:

表上是否需要添加或删除(删除)索引? 【参考方案1】:

您需要使用 Laravel 迁移,请参阅此文档:

Laravel Migrations

Laravel Migrations/Index related

您可以在项目路径的shell中执行此命令,并在数据库/迁移路径中编辑创建的文件,并为文档后面的列添加索引

php artisan make:migration add_index_to_consignments_table

或者在数据库/迁移路径中手动创建一个文件,名称如下: 2021_07_29_022532_add_index_to_consignments_table.php 并复制/粘贴此 php 内容

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class AddIndexToConsignmentsTable extends Migration


    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up(): void
    
        Schema::table('consignments', function (Blueprint $table) 
            //Uncomment one line depending on what you need
            //$table->index('customer_reference'); //If you need  to add an index
            //$table->dropIndex('name_of_index_on_table'); //If you need to remove an index
        );
    

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down(): void
    
        Schema::table('consignments', function (Blueprint $table) 
            //Uncomment one line depending on what you need
            //$table->dropIndex('name_of_index_on_table'); //If you need  to add an index
            //$table->index('customer_reference'); //If you need to remove an index
        );
    


使用任何方法创建文件后,您必须在项目路径上的 shell 中执行此命令:

php artisan migrate

【讨论】:

以上是关于如何在laravel中使用代码索引特定数据库的表列的主要内容,如果未能解决你的问题,请参考以下文章

XPath/HtmlAgilityPack:如何查找具有属性 (href) 特定值的元素 (a) 并查找相邻的表列?

如何在材料表reactjs的表列外显示选择过滤器

在模型 laravel 的所有选择中显示相关表列

如何在 laravel 的 eloquent 中转换表列数据?

如何在 Laravel 刀片中使用动态表列值设置宽度

如何从存储在文件中的表中获取特定索引