当前位置: 首页 > 知识库问答 >
问题:

无效的文本表示:7错误:类型bigint的输入语法无效

钦耀
2023-03-14

收到以下错误:

SQLState[22P02]:无效文本表示:7错误:类型bigint的输入语法无效:“ebbdac9d-3633-43d6-9faf-0d3847fb83d0”(SQL:插入到“objects”(“parent_id”,“team_id”,“objectable_id”,“objectable_type”,“id”,“updated_at”,“created_at”)值(?,4,ebbdac9d-3633-43d6-9faf-0d3847fb83d0,folder,d7eb0ce9-27d1-4960-9322-169f8fda1417,

我把我的代码贴在下面,请大家帮忙:

数据库迁移

class CreateObjectsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('objects', function (Blueprint $table) {
            $table->uuid('id')->primary();
            $table->morphs('objectable');
            $table->foreignId('parent_id')->nullable()->contrained('objects');
            $table->foreignId('team_id')->contrained('teams');
            $table->timestamps();
        });
    }

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

Obj模型

<?php

namespace App\Models;

use App\Traits\Uuids;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Obj extends Model
{
    use HasFactory;
    use Uuids;

    public $table = 'objects';

    protected $fillable = [
        'parent_id',
    ];

    public function objectable()
    {
        return $this->morphTo();
    }
}

应用程序服务提供商

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Relation::morphMap([
        'folder' => Folder::class,
        'file' => File::class,
    ]);
}

团队模式

public static function booted()
{
    static::created(function ($team) {
        $folder = $team->folders()->create(['name' => $team->name]);
        $object = $team->objects()->make(['parent_id' => null]);

        $object->objectable()->associate($folder);
        $object->save();
    });
}

共有1个答案

岳浩宕
2023-03-14

我用下面的解决方案修复了上面的问题:

$table->uuidmorphs('objectable');

以前我使用的是:

$table->morphs(“objectable”);

 类似资料:
  • 问题内容: 我有这张桌子: 我使用这样的查询,但出现错误: 我想显示这样的表: 如何实现呢? 问题答案: 我想在您的查询的问题是, 是的,你是想选择一个空的()。 您必须解决方法: 更改为(2010,2012 ..将被视为字符串,我不知道是否可以) 放:

  • 问题内容: 从未见过这样的错误: 错误[22P02]错误:整数的无效输入语法:“”;执行查询时出错 创建表: 更新代码: 查询看起来完全像这样: 我有很多表在其中运行类似的命令,但从未见过这样的错误。 可能是什么问题? 问题答案: 我建议阅读手册中的“ 常量 ”一章。这是一篇简短且内容丰富的文章。 错误消息的原因是,这是一个 空字符串 ,没有数字类型(如)的表示形式。 @a_horse_with_

  • 我正在尝试应用biopython代码来分割一个大的fasta文件。代码如下所示: 在这一行中:对于i,枚举中的批处理(批处理迭代器(record_iter,93)):正在给我语法错误:无效语法。但是我看不到错误,有人能帮我找到吗?我从这里取了密码http://biopython.org/wiki/Split_large_file谢谢

  • 我目前正在处理一份问卷调查中的数据,其中的答案被加起来,以找出前后的分数,然后减去以找出差异。我试着运行一个Mann-Witney U测试,测试在观看不同的教育干预措施后,差异分数之间是否存在差异。数据的排列方式是,一列是与第一次教育干预的差异,第二列是与第二次教育干预的差异。当我运行代码时: 我发现这个错误: 模型中存在错误。框架默认值(formula=opinion$video ~ opini

  • 问题内容: 为什么Python在第9行的简单语句中给我一个语法错误? Python的版本是: 问题答案: 在Python 3中,print是一个函数,您需要像这样调用它。

  • 我使用VeeValidate和regex作为密码,并要求:至少有两个字符来自大写、小写、数字和符号。 但浏览器会显示一条错误消息: [Vue warn]:观察程序“值”的回调出错:“语法错误:无效正则表达式://^(?=(.?[a-z]。?[a-z])/:未终止组” 谢谢你的支持。 错误堆栈跟踪