huang-yi / mysql-fulltext-laravel by huangyi

Let Laravel elegantly create MySQL fulltext index.
12
12
3
Package Data
Maintainer Username: huangyi
Maintainer Contact: coodeer@163.com (Huang Yi)
Package Create Date: 2017-01-08
Package Last Update: 2017-01-08
Language: PHP
License: MIT
Last Refreshed: 2024-12-19 03:04:05
Package Statistics
Total Downloads: 12
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 12
Total Watchers: 3
Total Forks: 1
Total Open Issues: 0

MySQL-Fulltext-Laravel

MySQL很早以前就已经支持fulltext索引了,但是Laravel的Schema并没有为此提供便捷的创建方法,该拓展包就是为了解决这一痛点的:让Laravel的数据迁移优雅地创建MySQL的fulltext索引。

版本

由于目前只在Laravel5.3环境下测试过,所以暂时不支持其他版本,后续会更新。

Fulltext | Laravel | PHP
:---------|:--------|:-------- 1.0.x | 5.3.* | >=5.6.4

安装

方法一,直接使用composer安装:

$ composer require huang-yi/mysql-fulltext-laravel:1.0.*

方法二,在项目根目录的composer.jsonrequire属性添加:

{
    "require": {
        "huang-yi/mysql-fulltext-laravel": "1.0.*"
    }
}

然后运行:

$ composer update

使用

php artisan make:migration命令生成迁移文件后,需要替换原有的Facade与Blueprint类。可参考以下代码:

<?php

use HuangYi\MySqlFulltext\Blueprint;
use HuangYi\MySqlFulltext\Schema;
use Illuminate\Database\Migrations\Migration;

class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->text('content');
            $table->timestamps();

            $table->fulltext(['title', 'content']);
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

支持

Bugs和问题可提交至Github,或者请联系作者黄毅(coodeer@163.com

License

The MySQL-Fulltext-Laravel is open-sourced software licensed under the MIT license