在 Laravel 中,可以通过以下步骤获取从多个选择框中选择的所有 ID,并更新另一个表:
routes/web.php
文件中添加以下代码:Route::post('/update-table', 'YourController@updateTable');
php artisan make:controller YourController
在生成的控制器文件中,添加以下代码:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\YourModel;
class YourController extends Controller
{
public function updateTable(Request $request)
{
$selectedIds = $request->input('selected_ids');
// 更新另一个表
YourModel::whereIn('id', $selectedIds)->update(['column_name' => 'new_value']);
// 返回响应或重定向
return response()->json(['message' => '更新成功']);
}
}
php artisan make:model YourModel
在生成的模型文件中,添加以下代码:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class YourModel extends Model
{
protected $table = 'your_table_name';
// 定义模型关联的表名
// 其他模型定义和关联关系
}
/update-table
路由。在视图文件中添加以下代码:<form action="/update-table" method="POST">
@csrf
<input type="checkbox" name="selected_ids[]" value="1"> ID 1<br>
<input type="checkbox" name="selected_ids[]" value="2"> ID 2<br>
<input type="checkbox" name="selected_ids[]" value="3"> ID 3<br>
<!-- 其他选择框 -->
<button type="submit">更新表</button>
</form>
以上代码中,selected_ids[]
是一个数组,用于接收多个选择框的值。
updateTable
方法中,通过 $request->input('selected_ids')
获取到选择的 ID 数组。使用 YourModel::whereIn('id', $selectedIds)->update(['column_name' => 'new_value'])
更新另一个表中的数据,其中 'column_name'
是要更新的列名,'new_value'
是要更新的值。请注意,以上代码仅为示例,你需要根据实际情况进行修改和适配。
领取专属 10元无门槛券
手把手带您无忧上云