前提・実現したいこと
ローカル環境のHomestead内で
Laravel 7のSeederを使用してデータベースへ登録ができるようにしようと思っています。
$php artisan migrate:fresh --seed
を実行したところ以下のエラーメッセージが発生しました。
実現したいこと
データベースに登録したデータをcontrollerを通してviewに渡し、scheduleの値を表示させるため、
該当のソースコード内にある schedule の値をデータベースへ登録したいです。
よろしくお願いいたします。
発生している問題・エラーメッセージ
Seeding: SpotestSeeder ErrorException Array to string conversion at vendor/laravel/framework/src/Illuminate/Support/Str.php:488 484| 485| $result = array_shift($segments); 486| 487| foreach ($segments as $segment) { > 488| $result .= (array_shift($replace) ?? $search).$segment; 489| } 490| 491| return $result; 492| } +8 vendor frames 9 database/seeds/SpotestSeeder.php:26 Illuminate\Database\Query\Builder::insert() +7 vendor frames 17 database/seeds/DatabaseSeeder.php:18 Illuminate\Database\Seeder::call()
該当のソースコード
SpotestSeeder.php
1use Illuminate\Database\Seeder; 2use App\Model\Spotest; 3 4class SpotestSeeder extends Seeder 5{ 6 /** 7 * Run the database seeds. 8 * 9 * @return void 10 */ 11 public function run() 12 { 13 DB::table('spotests')->delete(); 14 DB::table('spotests')->insert([ 15 [ 16 'id' => '1', 17 'name' => 'namae01', 18 'schedule' => [ 19 '2021-05' => ['10:00','0','0','0','0','0','0'] 20 ], 21 'created_at' => new DateTime(), 22 'updated_at' => new DateTime(), 23 ] 24 ]); 25 } 26}
2021_05_10**_create_spotests_table.php
1use Illuminate\Database\Migrations\Migration; 2use Illuminate\Database\Schema\Blueprint; 3use Illuminate\Support\Facades\Schema; 4 5class CreateSpotestsTable extends Migration 6{ 7 /** 8 * Run the migrations. 9 * 10 * @return void 11 */ 12 public function up() 13 { 14 Schema::create('spotests', function (Blueprint $table) { 15 $table->id(); 16 $table->text('name'); 17 $table->json('schedule'); 18 $table->timestamps(); 19 }); 20 } 21 22 /** 23 * Reverse the migrations. 24 * 25 * @return void 26 */ 27 public function down() 28 { 29 Schema::dropIfExists('spotests'); 30 } 31}
試したこと
エラーには Array to string conversion と出ているので、'schedule'の配列を文字列に変換できない事かと思い、
database > migrations > 2021_05_10******_create_spotests_table.php 内のカラム型を変更してみましたが
エラーは変わらず Array to string conversion と表示されています。
補足情報
Laravel Framework 7.30.4
mysql Ver 8.0.23-0
ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。