2017-06-20 4 views
0

私は4回30回追加しようとしましたが、コントローラ(laravel)の分は間違っています。ループの後に炭素が間違っている

ここに私のコード:

$start = Carbon::parse($request['start']); 
$end = Carbon::parse($request['end']); 



$tmp = $start->copy(); 
for($i = 0; $i < 4; $i++){ 
    $tmp = $tmp->addMinutes("30"); // same result with addMinutes(30) 
} 

開始:2017年6月23日午前9時30分00秒
終了:$ TMPのための2017年6月23日11時00分〇​​〇秒
期待される結果:2017 -06-23 11:30:00
$ tmpの受領結果:2017-06-23 15:00:00

この結果についての説明はありません。 何が間違っていましたか?事前に

感謝

+0

分かりませんが、数値として追加してみてください: '$ tmp = $ tmp-> addMinutes(30);'。 – Jerodev

+0

私はすでにこれを試しましたが同じ結果を返しました – Eddy05

+0

開始日が正しく解析されていますか? – Jerodev

答えて

0

はこのようにしてみてください。

$start = Carbon::parse($request['start']); 
$end = Carbon::parse($request['end']); 

$tmp = Carbon::parse($start); 
for($i = 0; $i < 4; $i++){ 
    $tmp->addMinutes(30); 
} 

dd([ 
    'start' => $start, 
    'tmp' => $tmp 
]); 

あなたの元解析された値が(あなたが見ることができる最初の値を持つ配列をダンプを取得します。この方法は、これはあなたがそれを期待するものであること)と2番目の値はstart + 2 hoursになるので、これも同様にデバッグすることができます。

+1

ありがとう!私は$ start-> copy()がすでにCarbonオブジェクト – Eddy05

+0

@ Eddy05であると思っていたので、Carbon :: parseは何も変更してはいけません。 – Devon

+0

@ Eddy05うん、それは意味をなさないでしょう。私はまったく同じ数週間前に行った、これは私が使用した解決策でした。私はより良い方法があった場合でも私は驚かないだろう。 – devk

関連する問題