有人可以帮我修改我的代码吗?我有这个概念,但不知道如何将它们写入控制器中的代码
$temp=DB::table('temporary')->get();
//dd($temp);
if($temp['tahun'] < 'current year'){
$temp['tahun'] = 'current year';
$temp['nomor'] = 'nomor+1';
$keluhan->no_laporan = $temp['nomor'];
} else {
$temp['nomor']++;
}
条件: 我的临时表有2个属性tahun(value = 2017 int)和nomor(value = 1 int) 我想检查一下我的tahun&lt;今年(实际年份,idk代码,所以我写当前的年份)然后我的tahun成为=这个年复一年和我的提名者++(从它的价值第一个+1)我怎么把他们变成laravel代码?请帮忙,谢谢伙计
答案 0 :(得分:2)
DB :: table('temporary') - &gt; - &gt; get()将返回一个集合。从您的代码中,您似乎正在使用单列,您可以使用first()。
对于日期,可以使用简单的date()函数。
$temp=DB::table('temporary')->first();
//dd($temp);
if($temp->tahun < date("Y")){
$temp->tahun = date("Y");
$temp->nomor++;
$keluhan->no_laporan = $temp->nomor;
} else {
$temp->nomor++;
}
答案 1 :(得分:1)
$temp=DB::table('temporary')->get();
将获得一个集合。所以你必须循环。并使用Carbon获取日期。
foreach($temp as $temp)
{
if($temp->tahun < Carbon\Carbon::now()->year){
{
$temp->tahun=Carbon\Carbon::now()->year;
$temp->nomor=$temp->nomor+1;
$temp->update();
}
else
{
$temp->nomor=$temp->nomor+1;
$temp->update();
}
}