使用Laravel在for循环中增加Php碳日期
我尝试在for循环中增加carbon Date,如下所示使用Laravel在for循环中增加Php碳日期,php,laravel,laravel-4,laravel-5,php-carbon,Php,Laravel,Laravel 4,Laravel 5,Php Carbon,我尝试在for循环中增加carbon Date,如下所示 for($x = 0; $x < count($ms); $x++) { $msh = MaintenanceServiceNotifications::where('main_service_id', $ms[$x]->id)->where('status', 'done')->orderBy('created_at', 'desc')->first(); if(Carbon::now(
for($x = 0; $x < count($ms); $x++) {
$msh = MaintenanceServiceNotifications::where('main_service_id', $ms[$x]->id)->where('status', 'done')->orderBy('created_at', 'desc')->first();
if(Carbon::now() > $msh->created_at->addMinutes($ms[$x]->notification_period*2)) {
for ($i = 0; $i < sizeof($customersNot)-1; $i++) {
//here i need to get created_at and 30 minutes for it
$created_at[$i] = $msh->created_at->addMinutes($ms[$x]->notification_period);
MaintenanceServiceNotifications::create([
'main_service_id' => $ms[$x]->id,
'user_id' => Auth::user()->id,
'not_name' => 'some text',
'created_at' => $created_at[$i]
]);
}
}
}
($x=0;$x{
$msh=MaintenanceServiceNotifications::where('main_service_id',$ms[$x]->id)->where('status','done')->orderBy('created_at','desc')->first();
if(Carbon::now()>$msh->created_at->addMinutes($ms[$x]->通知期*2)){
对于($i=0;$icreated_at->addMinutes($ms[$x]->通知期);
MaintenanceServiceNotifications::创建([
'main_service_id'=>ms[$x]->id,
'user_id'=>Auth::user()->id,
'not_name'=>'some text',
“created_at'=>$created_at[$i]
]);
}
}
}
我需要在每个for循环中增加日期,并将其传递给created\u at
比如说
在第一个循环中2015-11-27 23:00:00
在第二个循环中2015-11-27 23:30:00
任何建议,谢谢请尝试以下代码:
$minutes = $ms[$x]->notification_period;
$dt = Carbon::createFromFormat('Y-m-d H:i:s', $msh->created_at);
$dt->addMinutes($minutes);
$create_at = $dt->toDateTimeString();
我的建议稍加修改
foreach ($ms as $m) {
$msh = MaintenanceServiceNotifications::where('main_service_id', $m->id)->where('status', 'done')->latest()->first();
if (Carbon::now() > $msh->created_at->addMinutes($m->notification_period*2)) {
for ($i=0; $i<sizeof($customersNot)-1; $i++) {
MaintenanceServiceNotifications::create([
'main_service_id' => $m->id,
'user_id' => Auth::user()->id,
'not_name' => 'some text',
'created_at' => $msh->created_at->addMinutes($m->notification_period * $i) // add 30*0, 30*1, 30*2 ...
]);
}
}
}
foreach($ms作为$m){
$msh=MaintenanceServiceNotifications::where('main_service_id',$m->id)->where('status','done')->latest()->first();
如果(Carbon::now()>$msh->created_at->addMinutes($m->notification_period*2)){
对于($i=0;$i$m->id,
'user_id'=>Auth::user()->id,
'not_name'=>'some text',
'created_at'=>$msh->created_at->addMinutes($m->notification_period*$i)//添加30*0,30*1,30*2。。。
]);
}
}
}
我认为这可能是由于if语句从未实现,我建议进行简单的更改
if(Carbon::now()->gt( $msh->created_at->addMinutes($ms[$x]->notification_period*2)))
函数的作用是:检查日期是否大于给定给函数的另一个日期 你的代码出了什么问题?
created_at
fixed value in each loop这让我在created_at
列中创建了一个固定值感谢你的帮助,但是仍然created_at
fixed value in each loop在你的简单数据中不是真的吗?