[英]Laravel php's date_add function don't work
做了這個Laravel播種機功能。 問題是日期沒有按預期更改。 如果我在Tinker中運行代碼,它將可以正常工作。
我究竟做錯了什么?
public function run() {
$faker = Faker::create();
foreach(range(1, 10) as $index)
{
$myDateCalled = $faker->dateTime($max = 'now');
$myDateAllocated = $myDateCalled;
$i = $faker->numberBetween($min = 5, $max = 300);
date_add($myDateAllocated, date_interval_create_from_date_string("{$i} seconds"));
$myDatePickedUp = $myDateAllocated;
$i = $faker->numberBetween($min = 5, $max = 30);
date_add($myDatePickedUp, date_interval_create_from_date_string("{$i} minutes"));
$myDateDelivered = $myDatePickedUp;
$i = $faker->numberBetween($min = 10, $max = 90);
date_add($myDateDelivered, date_interval_create_from_date_string("{$i} minutes"));
dd($myDateCalled, $myDateAllocated, $myDatePickedUp, $myDateDelivered);
Hhtransport::create([
'Called' => $myDateCalled,
'Allocated' => $myDateAllocated,
'PickedUp' => $myDatePickedUp,
'Delivered' => $myDateDelivered,
'From' => $faker->numberBetween($min = 1, $max = 99),
'To' => $faker->numberBetween($min = 1, $max = 99),
'Put' => $faker->numberBetween($min = 1, $max = 99),
'Drev' => $faker->numberBetween($min = 1, $max = 99),
'Container' => $faker->numberBetween($min = 1, $max = 99)
]);
}
}
dateTime是一個對象,因此通過引用傳遞。 意思是我只創建一個具有4個不同名稱的dateTime對象。
使用$ myDateAllocated =克隆$ myDateCalled; 解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.