Laravel使用QueryBuilder更新多个列

时间:2017-08-22 05:55:28

标签: laravel laravel-5.4

我正在使用“查询”构建器,我成功更新了第一列但是在第二个查询中没有发生更改,我已经检查了视图部分输入的名称及其正确。这是我的代码。

  DB::table('area')
        ->where('id', $request->get('area_id'))
        ->update(['island_group_id' => $request->get('island_group_id')],
                 ['region_id'       => $request->get('region_id')]);
        return 'test';

4 个答案:

答案 0 :(得分:5)

DB::table('area')
    ->where('id', $request->get('area_id'))
    ->update([
             'island_group_id' => $request->get('island_group_id'),
             'region_id'       => $request->get('region_id')
            ]);
    return 'test';

答案 1 :(得分:5)

$updateDetails = [
    'island_group_id' => $request->get('island_group_id'),
    'region_id' => $request->get('region_id')
];

DB::table('area')
    ->where('id', $request->get('area_id'))
    ->update($updateDetails);

答案 2 :(得分:2)

我认为这将对您有所帮助。

$area_id = $request->get('area_id');
$island_group_id = $request->get('island_group_id'); 
$region_id = $request->get('region_id');

$update_details = array(
    'island_group_id' => $island_group_id
    'region_id'       => $region_id
);

DB::table('area')
    ->where('id', $area_id)
    ->update($update_details);

答案 3 :(得分:1)

你应该试试这个:

因为您每次都使用新数组进行更新字段。 请使用一个数组来更新多个字段,如:

DB::table('area')
        ->where('id', $request->get('area_id'))
        ->update(array(
                  'island_group_id'=>$request->get('island_group_id'),
                  'region_id'=>$request->get('region_id')
         ));

希望这对你有用!!!