簡體   English   中英

Laravel 9 運行播種器時數組到字符串的轉換錯誤

[英]Laravel 9 error Array to string conversion when run seeder

我在 Laravel 9 上運行播種程序時出現錯誤,它說Array to string conversion

在這個DataMaster表之前,我有一個相同的播種機類型 json,它正在工作。 但是當我運行 DataMasterSeeder 時,它不起作用

我的播種機:

<?php

namespace Database\Seeders;

use App\Models\DataMaster;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

class DataMasterSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //SDU
        DataMaster::create(['formId' => 1, 'userId' => 1, 'kecamatanId' => 1, 'desaId' => null, 'fieldDatas' => [['id' => '1', 'name' => 'jumlah', 'title' => 'Jumlah', 'value' => '4605']], 'level' => 'kecamatan']);
    }
}

我的 DataMaster 遷移:

public function up()
    {
        Schema::create('data_masters', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('formId');
            $table->unsignedBigInteger('userId');
            $table->unsignedBigInteger('kecamatanId')->nullable();
            $table->unsignedBigInteger('desaId')->nullable();
            $table->json('fieldDatas');
            $table->enum('level', ['kecamatan', 'desa']);
            $table->timestamps();

            $table->foreign("formId")->references("id")->on("forms")->onDelete('cascade');
            $table->foreign("userId")->references("id")->on("users")->onDelete('cascade');
            $table->foreign("kecamatanId")->references("id")->on("kecamatans")->onDelete('cascade');
            $table->foreign("desaId")->references("id")->on("desas")->onDelete('cascade');
        });
    }

我在這個 DataMaster 播種機中有另一個播種機,如 fieldDatas json 字段,我在運行 DataMaster 播種機之前成功運行了它。

您應該在插入之前對字段fieldDatas進行編碼

DataMaster::create([
    'formId' => 1,
    'userId' => 1,
    'kecamatanId' => 1,
    'desaId' => null,
    // here...
    'fieldDatas' => json_encode([['id' => '1', 'name' => 'jumlah', 'title' => 'Jumlah', 'value' => '4605']]),
    'level' => 'kecamatan',
]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM