mysql - Laravel 如何将多个复选框值保存到 SQL 数据库的不同行中?

标签 mysql laravel checkbox eloquent laravel-5.8

我有一个如下图所示的表格:
1 我有多个值 set_name(Numbers 1 2 3 ...) 和 set_value(0 OR 1)。
这是我的数据库表:
2

例如,如果我选中“数字 1”、“数字 2”和“数字 6”,然后单击“保存”按钮。
首先检查数据库中的 set_name 中是否存在与我检查的名称相同的值,如果存在值(set_name) ,则更新 set_value为 1 否则,如果没有任何 set_name 和任何具有该名称的行,创建一个行,名称为 Number 1、Number 2 和 Number 6,然后将它们的 set_value 设置为 1< br/> 我如何使用 laravel 完成这项工作?

最佳答案

首先,您需要更改表设计,在 set_name 字段上设置主键或唯一索引。

然后,您可以使用 SQL,如果 set_name 不在表中,则执行 INSERT,如果 set_name 在表中,则执行 UPDATE。此作业的 SQL 已解释 here :

INSERT INTO t1 (set_name, set_value) VALUES ('$cb_name', '$cb_value')
ON DUPLICATE KEY UPDATE set_name = '$cb_name', 
                        set_value = '$cb_value';

关于mysql - Laravel 如何将多个复选框值保存到 SQL 数据库的不同行中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55517093/

相关文章:

php - 从 mysql 数据库中的每个值获取最后的结果

php - Laravel Eloquent 范围和

php - 单击复选框时如何添加新内容?

php - 帮助 PHP 和 HTML 复选框

mysql - 在数据库中存储图像的有效方法是什么?

java - hibernate 映射

php - 带有 Laravel Lighthouse 的 GraphQL 解析器返回字符串而不是 JSON

laravel - 带有 Laravel 5.4 后端的 Vuejs 2,发布(未经授权)错误

javascript - 使用 JavaScript 选中/取消选中复选框

mysql - 不同DBMS之间的可扩展性比较