Php dateTime的Laravel种子不';工作
我有一个迁移表:Php dateTime的Laravel种子不';工作,php,laravel,seed,Php,Laravel,Seed,我有一个迁移表: public function up() { Schema::create('order_statuses', function (Blueprint $table) { $table->integer('order_id')->unsigned(); $table->integer('status_id')->unsigned(); $table->dateTime('created_at
public function up()
{
Schema::create('order_statuses', function (Blueprint $table) {
$table->integer('order_id')->unsigned();
$table->integer('status_id')->unsigned();
$table->dateTime('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
$table->foreign('order_id')->references('id')->on('orders');
$table->foreign('status_id')->references('id')->on('order_status_names');
});
}
现在我想做种子,但我有种子,但我有问题,当我想有不同的日期。这是我的种子:
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;
class OrderStatusesTableSeeder extends Seeder
{
public function run()
{
DB::statement('SET FOREIGN_KEY_CHECKS=0;');
DB::table('order_statuses')->truncate();
DB::statement('SET FOREIGN_KEY_CHECKS=1;');
DB::table('order_statuses')->insert([
[
'order_id' => 1,
'status_id' => 1,
'created_at' => \Carbon\Carbon::createFromDate(2014,07,22)->toDateTimeString()
],[
'order_id' => 2,
'status_id' => 2,
],[
'order_id' => 3,
'status_id' => 3,
],[
'order_id' => 1,
'status_id' => 2,
]
]
);
}
}
我的终端有错误:
[Illuminate\Database\QueryException]
SQLSTATE[21S01]: Insert value list does not match column list: 1136
Column
count doesn't match value count at row 2 (SQL: insert into
`order_statuses`
(`created_at`, `order_id`, `status_id`) values (2014-07-22 11:32:07,
1, 1)
, (2, 2), (3, 3), (1, 2))
有没有可能解决这个问题?碳是在拉威尔还是我必须安装这个
[照亮\数据库\查询异常]SQLSTATE[21S01]:插入值列表与列列表不匹配 表示在最后三行中传递了错误的参数数:
DB::table('order_statuses')->insert(
[
[
'order_id' => 1,
'status_id' => 1,
'created_at' => \Carbon\Carbon::createFromDate(2014,07,22)->toDateTimeString()
],[
'order_id' => 2,
'status_id' => 2,
'created_at' => \Carbon\Carbon::createFromDate(2014,07,22)->toDateTimeString()
],[
'order_id' => 3,
'status_id' => 3,
'created_at' => \Carbon\Carbon::createFromDate(2014,07,22)->toDateTimeString()
],[
'order_id' => 1,
'status_id' => 2,
'created_at' => \Carbon\Carbon::createFromDate(2014,07,22)->toDateTimeString()
]
]
);
如果列允许为null,则可以将
null
作为created_在
处的值传递 您得到该错误是因为您的数组不同,即您在第一个数组中创建了,但在其余数组中没有创建。@wenus如果我的答案是您的解决方案,请接受我的答案