나는 내 Seeder에서 Faker 패키지를 사용하여 교육 이벤트에 대한 가짜 데이터를 생성합니다.Laravel, Faker - 증가 된 생성 날짜 시간
각 이벤트의 필드는 starts_at
및 ends_at
입니다. ends_at
필드를 starts_at
, 바람직하게는 1 - 8 시간에 대해 생성 된 DateTime
다음에 채우거나 1 시간 차이가 고정 되어도 괜찮습니다.
나는 내 Seeder에서 Faker 패키지를 사용하여 교육 이벤트에 대한 가짜 데이터를 생성합니다.Laravel, Faker - 증가 된 생성 날짜 시간
각 이벤트의 필드는 starts_at
및 ends_at
입니다. ends_at
필드를 starts_at
, 바람직하게는 1 - 8 시간에 대해 생성 된 DateTime
다음에 채우거나 1 시간 차이가 고정 되어도 괜찮습니다.
을 실제로 ends_at
$starts_at = Carbon::createFromTimestamp($faker->dateTimeBetween($startDate = '+2 days', $endDate = '+1 week')->getTimeStamp()) ;
$ends_at= Carbon::createFromFormat('Y-m-d H:i:s', $starts_at)->addHours($faker->numberBetween(1, 8));
여기, Build APIs You Won't Hate에 설명 된 패턴을 적응하고 멋진 Carbon 패키지를 사용하여 당신이 그것을 할 수있는 방법은 다음과 같습니다 여기
<?php
use Carbon\Carbon;
use Faker\Factory as Faker;
class UserEventsTableSeeder extends Seeder {
public function run() {
$faker = Faker::create();
foreach (range(1, 15) as $index) {
$startDate = Carbon::createFromTimeStamp($faker->dateTimeBetween('-1 years', '+1 month')->getTimestamp());
UserEvent::create([
// ...
'starts_at' => $startDate->toDateTimeString(),
'ends_at' => $startDate->addHours($faker->numberBetween(1, 8))
]);
}
}
}
을 정의 할 수있는 쉬운 방법이다, Raphael_, 귀하의 코드를 실행할 때이 오류가 발생합니다 :'DateTime :: __ construct() 기대하는 매개 변수 1 문자열, 주어진 된 개체'. 전체 오류 로그는 다음과 같습니다. http://laravel.io/bin/Jx34w 여기 전체 시드 파일이 있습니다. http://laravel.io/bin/QN9x4 –
이제 작동해야합니다. 시도해보십시오. – rmobis
'starts_at' 필드에'0000-00-00 00 : 00 : 00'을 삽입합니다. ''starts_at '=> $ startDate-> timestamp,''starts_at'=> $ startDate,''로 변경하면 같은 날짜와 시간이'starts_at'와'ends_at'에 나타납니다. 여기 내 시더가 있습니다 : http://laravel.io/bin/Mk5KO –