我正在使用this package在模型中添加uuid,并且可以正常工作,但是当我想查看项目的详细信息时,无法获取它们。
migration
Schema::create('outer_transits', function (Blueprint $table) {
$table->uuid('id')->primary();
....
});
Model
use Illuminate\Database\Eloquent\Model;
use GoldSpecDigital\LaravelEloquentUUID\Database\Eloquent\Uuid;
class OuterTransit extends Model
{
use Uuid;
public $incrementing = false;
protected $keyType = 'string';
......
}
Controller
public function show($id)
{
$transit = OuterTransit::where('id', $id)->with(['outer', 'barcode'])->first();
}
sample url of my item
http://example.com/outers-transits/7b60a175-da82-4aac-926a-79818e9aad9d
任何想法?
您必须这样使用
使用这样的迁移
Schema::create('homes', function (Blueprint $table) {
$table->uuid('id', 36)->primary();
...
$table->timestamps();
});
在您的模型中这样使用
use Illuminate\Support\Str;
protected $keyType = 'string';
public static function boot(){
parent::boot();
static::creating(function ($home) {
$home->id = Str::uuid(36);
});
}