问题描述
我有一个看起来像这样的DateTime 20200611151423
我尝试了Carbon::createFromFormat('Y-d-m H:i:s','20200611151423','Europe/Amsterdam');
,但这给了我一个“找不到分隔符”的信息。有没有办法用Carbon格式化它?
解决方法
您的日期时间值必须与您作为createFromFormat
函数的第一个参数传递的值的格式相同。请执行以下操作:
Carbon::createFromFormat('Y-d-m H:i:s','2020-06-11 15:14:23','Europe/Amsterdam')
或:
Carbon::createFromFormat('YdmHis','20200611151423','Europe/Amsterdam')
,
您应该先转换时间戳
class CreateMailTaskMailMessageTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('mail_task_mail_message',function (Blueprint $table) {
$table->id();
$table->unsignedInteger('type');
$table->text('description');
$table->decimal('value',16,2);
$table->foreignId('mail_task_id')->constrained('mail_tasks')->onDelete('cascade');
$table->foreignId('mail_message_id')->constrained('mail_messages')->onDelete('cascade');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('mail_task_mail_message');
}
}
或者您可以使用此方法:
public function forceDeleteMeo()
{
return DB::transaction( function () {
MailTask::query()->whereNotNull('deleted_at')->forceDelete();
MailMessage::query()->whereNotNull('deleted_at')->forceDelete();
Meo::query()->whereNotNull('deleted_at')->forceDelete();
},3);
}