【发布时间】:2019-03-22 20:49:51
【问题描述】:
我有这个问题
DB::table('pro_orders_has_passengers')
->where('title_name','MR.')
->update([
'title_name' => 'mr',
]);
DB::table('pro_orders_has_passengers')
->where('title_name','MRS.')
->update([
'title_name' => 'mrs',
]);
DB::table('pro_orders_has_passengers')
->where('title_name','Miss')
->update([
'title_name' => 'ms',
]);
DB::table('pro_orders_has_passengers')
->where('title_name','Girl')
->update([
'title_name' => 'girl',
]);
DB::table('pro_orders_has_passengers')
->where('title_name','Boy')
->update([
'title_name' => 'boy',
]);
我得到了正确的结果。但我希望在一个查询中得到这个结果。
类似这样的:
$titlename = ['MR.','MRS.','Miss','Girl','Boy'];
DB::table('pro_orders_has_passengers')
->where('title_name',$titlename)
->update([
........
]);
我该怎么做?
【问题讨论】:
-
你可以试试REPLACE。
'title_name' => \DB::raw("REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(title_name, 'MR.', 'mr'), 'MRS.', 'mrs'), 'Miss', 'ms'),'Girl', 'girl'), 'Boy','boy')")