我正在使用laravel 5.3进行项目。我从oracle数据库调用数据。我怎样才能在查询构建器中获得今天的日期? 例如:
$data=DB::connect('myoracle_db')->table('tablename')
->where('tablename.domain_label','=',$domain_name)
->update('tablename.domain_status'=>87)
->update('tablename.last_updated_date'=>'todaydate')
->paginate(5);
如何在该查询中获取今天的日期?我知道oracle必须使用to_date(sysdate),但我不知道如何将其转换为查询构建器。谢谢你的帮助。
答案 0 :(得分:1)
使用Carbon:
->update('tablename.last_updated_date'=>Carbon::now());
您需要导入命名空间以使用Carbon
use Carbon\Carbon;
答案 1 :(得分:0)
您不需要多次更新()。此外,您不会连接多个表,因此您无需始终指定表名。
->where('domain_label', '=', $domain_name)
->update([
'domain_status' => 87,
'last_updated_date' => date('Y-m-d') //if your column is datetime use 'Y-m-d H:i:s'
])
答案 2 :(得分:0)
如果您绝对需要使用Oracle实例的日期,则可以将原始数据库表达式与DB::raw()
一起使用
DB::connect('myoracle_db')
->table('tablename')
->where('domain_label', $domain_name)
->update([
'domain_status' => 87,
'last_updated_date' => DB::raw('to_date(sysdate)'),
]);
另一方面,您可以从客户端(php)代码传递日期:
DB::connect('myoracle_db')
->table('tablename')
->where('domain_label', $domain_name)
->update([
'domain_status' => 87,
'last_updated_date' => Carbon\Carbon::today(),
]);