php - Laravel:创建可空的 morphs() 关系

标签 php laravel relationship

我想创建一个一对一的多态关系允许空关系。

例子:

  Schema::create('ps_assistances', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('assistance_number', 50)->nullable();
            $table->morphs('assitanceable')->nullable();
  });

但是这个例子在将“->nullable()”赋值给 morph 列时返回 null。

我尝试手动创建 _type 和 _id 并且它工作正常。

手动变形列的示例:

  Schema::create('ps_assistances', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('assistance_number', 50)->nullable();
            $table->string('assitanceable_type')->nullable();
            $table->unsignedBigInteger('assitanceable_id')->nullable();
  });

我想知道是否存在更好的方法来实现一对一的多态关系可空。

最佳答案

nullableMorphs应该为你处理这个

例如:

Schema::create('ps_assistances', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->string('assistance_number', 50)->nullable();
    $table->nullableMorphs('assitanceable');
});

关于php - Laravel:创建可空的 morphs() 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60377003/

相关文章:

python - SQLAlchemy 使用关系()

php - Laravel中数据透视表的访问关系

php - 我是否需要为每个查询实例化 Php 数据库类?

php - Ajax删除复选框删除第一个或上一个,不是必需的 - jquery

PHP数据库连接类问题

javascript - 我尝试使用ajax删除数据但不起作用

php - Phalcon:hasOne 和 belongsTo 在 1-1 关系中有什么区别?

php - 我有一个包含 14 个静态方法和 4 个静态属性的类——这样不好吗?

php - 如何从 Laravel 中的第二个表中获取相关数据?

php - Laravel 在两个表中搜索 'LIKE' 查询