在我的Laravel
项目之一中,我必须在函数的同一范围内更新两个表格的数据。在第一次查询时,我正在尝试使用以下查询更新表的数据 -
DB::table('parameters')
->where($where)
->update($data);
在第二和第三个查询中,我正在添加和减去另一个表的两个列 -
DB::table('categories')
->where(['id' => $data['category_id']])
->increment('parameters');
DB::table('categories')
->where(['id' => $previous_category_id])
->decrement('parameters');
一切都很好。但是,现在我想在一次查询执行中完成所有这些操作。
答案 0 :(得分:0)
据我所知,使用一个查询无法做到这一点。
您基本上使用DB:table
外观执行的操作是运行MySQL UPDATE语句,如:
UPDATE <table_name> SET <field_name>=<value> WHERE condition
正如您所看到的,UPDATE查询指向一个表,而不是更多。因此,要更新多个表,您需要运行多个UPDATE查询。