lukaskorl / uniquely
使用UUID作为主键的独特标识Laravel 4模型
v1.0
2014-07-26 20:35 UTC
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
- rhumsaa/uuid: 2.7.*
This package is not auto-updated.
Last update: 2024-09-24 07:22:52 UTC
README
Uniquely 使用UUIDv4作为 Laravel 4 Eloquent模型 的主键。当模型保存时,它会自动生成UUID。Uniquely 通过覆盖save()
方法而不是附加到Eloquent的creating
事件来避免与单元测试结合时的一些问题。
安装
要安装 Uniquely,请运行
$ composer require lukaskorl/uniquely
您可以使用 1.*
来包含最新版本,包括可能的未来修复。
手动安装
如果您选择手动安装 Uniquely,请将以下行添加到您的 composer.json
"require": {
"lukaskorl/uniquely": "1.*"
}
然后运行
$ composer update
以安装包。
使用方法
要使用 Uniquely 模型,只需从 Lukaskorl\Uniquely\Model
扩展您的模型类。
<?php
use Lukaskorl\Uniquely\Model;
class User extends Model {
}
适当的数据库迁移
您模型的对应数据库表的 id
字段应为36个字符的字符串(即 VARCHAR(36)
)。如果您使用 Laravel 4迁移,您必须将您的 id
字段设置为如下
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateUsersTable extends Migration {
public function up()
{
Schema::create('users', function(Blueprint $table)
{
$table->string('id', 36);
// ... other columns ...
$table->timestamps();
});
Schema::table('users', function(Blueprint $table)
{
$table->primary('id');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
许可
Uniquely 是开源软件,许可协议为 MIT许可。