Php 使用TNTSearch on save/push mb_strtolower()时,具有关系复制的Laravel模型失败。mb_strtolower()期望参数1为字符串,数组给定

Php 使用TNTSearch on save/push mb_strtolower()时,具有关系复制的Laravel模型失败。mb_strtolower()期望参数1为字符串,数组给定,php,laravel,laravel-6,Php,Laravel,Laravel 6,当尝试复制具有关系TNTSearch的模型失败时,mb_strtolower()期望参数1为字符串,数组出现错误 只有当Laravel复制具有关系的模型,然后尝试保存它时,才会发生这种情况。这种行为不会发生在没有关系的模型上。save()和push()的结果相同 例如: 这工作正常 $inventory = Inventory::where(['id' => $order->inventory_id])->first(); $new = $inventory->repli

当尝试复制具有关系TNTSearch的模型失败时,
mb_strtolower()期望参数1为字符串,数组出现错误

只有当Laravel复制具有关系的模型,然后尝试保存它时,才会发生这种情况。这种行为不会发生在没有关系的模型上。save()和push()的结果相同

例如:

这工作正常

$inventory = Inventory::where(['id' => $order->inventory_id])->first();
$new = $inventory->replicate();
$new->push();
TNTSearch将失败,原因如下:

$inventory = Inventory::with(['type', 'form'])->where(['id' => $order->inventory_id])->first();
$new = $inventory->replicate();
$new->push();
所以这个错误很明显,这是一个基本的PHP错误,但是当我尝试复制模型的关系时,如何避免这个错误呢?这是一种先保存模型,然后在初始复制后尝试单独复制其所有关系的情况吗


更新:根据请求添加关系的方法。非常基本,没有什么特别的

app/Inventory.php

    public function type()
    {
        return $this->belongsTo('App\Type');
    }

    public function form()
    {
        return $this->belongsTo('App\Form');
    }

你能发布关系方法吗?@TsaiKoga刚刚更新并添加了它们,关系的基本属性很好,没什么特别的。问题在于TNTSearch试图为新模型实体编制索引,但我假设它试图在关系是数组时将其作为字符串传递。我不知道怎样才能让它忽略这些关系。