Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将数组插入数据库?Laravel Php

如何将数组插入数据库?Laravel Php
EN

Stack Overflow用户
提问于 2020-02-17 09:27:21
回答 1查看 571关注 0票数 2

这可能是一个与这里已经问到的关于将数组插入数据库的问题不同的问题,但我的问题完全不同。

下面是代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public function something(Request $request)
{
  $id = $request ->id;
  $name = $request->name;
  $money = $request ->money;

  $data = array(
    'name' => $name, 
    'money' => $money,
  );

  $z = User::where('id',$id)
    ->select('name','money')
    ->first();

  $data2 = array(
    'name' => $z->name,
    'money' => $z->money,
  );

  $diff = array_diff($data,$data2);
  $diff_name = array_keys($diff);
  $diff_values = array_values($diff);
  for ($i = 0; $i < count($diff_name); $i++) {
    $z->$diff_name[$i] = $diff_values[$i];
    $z->save();
  }
  return 'Success';
}

型号:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class User extends Model
{
    protected $table = 'users';
    protected $fillable = ['name','money'];
    public $timestamps = false;
}


$data:
array(2) { ["name"]=> string(9) "Somewhere" ["money"]=> string(7) "5123.00"}

 $data2:
array(2) { ["name"]=> string(8) "Anywhere" ["money"]=> string(7) "5000.00"}

因此,我使用name($diff_name) array_diff来确定用户输入的值是否等于数据库中的原始值,如果值有差异,则获取列,然后插入新的value($diff_value).我是这样做的,因为为了历史日志的目的,我需要$diff_name的值。但是,我得到了这个错误Array to string conversion,谢谢提前。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-17 15:27:25

有几个内置的、雄辩的方法,您可以实现。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    public function something(Request $request)
    {
      $z = User::where('id',$request->id)
        ->select('name','money')
        ->first(); // You could also use '->firstOrFail()' if you want to stop execution if a model was not retrieved. 

      $z->fill([
        'name' => $request->name,
        'money' => $request->money,
      ]);


      $diff = array_keys($z->getDirty());

      $z->save()'

      return 'Success';
    }

$model->firstOrFail()

可用于停止执行,以防止错误试图操作未从数据库检索的模型。

$model->fill()

这可以用于传递要更新的值数组。

$request->只(‘name’,'money)

与其将数组传递给$model->fill(),您还可以使用此方法。

$model->getDirty()

在更改模型属性之后(在保存它之前),您可以使用它获得一个关联数组,该数组包含已更改的属性和相应值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60267629

复制
相关文章
如何将元素插入数组的指定索引?
数组是一种线性数据结构,可以说是编程中最常用的数据结构之一。修改数组是一种常见的操作,这里,我们来讨论如何在 JS 中数组的任何位置添加元素。
前端小智@大迁世界
2021/03/02
2.8K0
laravel 5以后数据库插入自动转化方式
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/112304.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/08
2700
laravel 5以后数据库插入自动转化方式
PHP读取excel插入mysql数据库
php读取excel在网上找了n多办法,没有合适的。但是也有一定的收获,就是尽量实用类,不用odbc或者csv格式读取——因为它可以跨平台。各自的优缺点在这里都不多说了。 在这里下载phpExcelReader:http://sourceforge.net/projects/phpexcelreader/ 然后可以看到有excel文件夹(很重要)、changelog.txt、example.php、example2.php、jxlrwtest.xls和README文件 不说每个文件夹的用途了,先修改exce
苦咖啡
2018/05/07
8.3K0
php框架laravel:数据库建立:artisan
aravel 迁移是一种数据库的版本控制。迁移通常和 结构生成器 配对使用来管理您应用程序的数据库结构。
WindWant
2020/09/11
1.6K0
php框架laravel:数据库建立:artisan
PHP+MYSQL插入数据库的数据
insert shop_goods(gname,price,pic) values(‘apple1’,‘4881’,‘3.jpg’); insert shop_goods(gname,price,pic) values(‘apple2’,‘4882’,‘3.jpg’); insert shop_goods(gname,price,pic) values(‘apple3’,‘4883’,‘3.jpg’); insert shop_goods(gname,price,pic) values(‘apple4’,‘4884’,‘1.jpg’); insert shop_goods(gname,price,pic) values(‘apple5’,‘4885’,‘4.jpg’); insert shop_goods(gname,price,pic) values(‘apple6’,‘4886’,‘3.jpg’); insert shop_goods(gname,price,pic) values(‘apple7’,‘4887’,‘2.jpg’); insert shop_goods(gname,price,pic) values(‘apple8’,‘4888’,‘1.jpg’); insert shop_goods(gname,price,pic) values(‘apple9’,‘4889’,‘3.jpg’); insert shop_goods(gname,price,pic) values(‘apple10’,‘48810’,‘4.jpg’); insert shop_goods(gname,price,pic) values(‘apple11’,‘48811’,‘3.jpg’); insert shop_goods(gname,price,pic) values(‘apple12’,‘48812’,‘1.jpg’); insert shop_goods(gname,price,pic) values(‘apple13’,‘48813’,‘1.jpg’); insert shop_goods(gname,price,pic) values(‘apple14’,‘48814’,‘4.jpg’); insert shop_goods(gname,price,pic) values(‘apple15’,‘48815’,‘2.jpg’); insert shop_goods(gname,price,pic) values(‘apple16’,‘48816’,‘2.jpg’); insert shop_goods(gname,price,pic) values(‘apple17’,‘48817’,‘4.jpg’); insert shop_goods(gname,price,pic) values(‘apple18’,‘48818’,‘4.jpg’); insert shop_goods(gname,price,pic) values(‘apple19’,‘48819’,‘3.jpg’); insert shop_goods(gname,price,pic) values(‘apple20’,‘48820’,‘4.jpg’); insert shop_goods(gname,price,pic) values(‘apple21’,‘48821’,‘1.jpg’); insert shop_goods(gname,price,pic) values(‘apple22’,‘48822’,‘2.jpg’); insert shop_goods(gname,price,pic) values(‘apple23’,‘48823’,‘3.jpg’); insert shop_goods(gname,price,pic) values(‘apple24’,‘48824’,‘2.jpg’); insert shop_goods(gname,price,pic) values(‘apple25’,‘48825’,‘3.jpg’); insert shop_goods(gname,price,pic) values(‘apple26’,‘48826’,‘4.jpg’); insert shop_goods(gname,price,pic) values(‘apple27’,‘48827’,‘1.jpg’); insert shop_goods(gname,price,pic) values(‘apple28’,‘48828’,‘2.jpg’); insert shop_goods(gname,price,pic) values(‘apple29’,‘48829’,‘1.jpg’); insert
贵哥的编程之路
2020/10/28
3.2K0
laravel 学习之路 数据库操作 数据插入与数据填充
这里需要引入个 DB 类,DB 类就是我们操作数据库的关键,Db 类有个 insert 方法,它可以直接传插入内容的 sql 语句,现在我访问一 下 study.laraveltest.com/db/insert 如果没有报错数据就插入成功了。
风清醉
2019/12/18
2.6K0
Laravel框架_php laravel框架
1、laravel是基于mvc模式的php框架,m——模型层,v——视图层,c——控制器层;以下为laravel框架的目录文件,框出来的文件目录将在后续中用到: 2、什么是MVC的开发思想? M 是 Model的简写,负责业务数据处理。 V 是 View的简写,负责显示数据和收集数据。 C 是Controller的简写,负责协调(调度)左右。
全栈程序员站长
2022/11/03
3.7K0
PHP-web框架Laravel-数据库(二)
Laravel框架提供了数据迁移功能,可以方便地管理数据库的变更。通过数据迁移,可以创建、修改和删除数据库表,以及添加、删除和修改表中的字段等。下面是一个创建users表的示例:
堕落飞鸟
2023/04/29
4610
PHP-web框架Laravel-数据库(三)
Laravel框架中的模型关联功能可以方便地实现数据库表之间的关联。在Laravel框架中,可以通过hasOne、hasMany、belongsTo、belongsToMany等方法来实现不同类型的关联。下面是一个hasMany关联的示例:
堕落飞鸟
2023/04/29
7040
数组插入排序
插入排序是一个相对复杂一点的排序算法,但是效率要比我们以前接触过的排序算法快一些,他的思想是将数组分为两组数据(第一次分的时候就是数组第一个元素为一组,后面的所有元素为一组),然后从后面一组数据中抽取第一个元素与前面一组数据依次做对比,按需求将大的或者小的值插入到前面的一组数据中,最终后面一组数据全部插入完毕后,前面一组数据就是有序状态了。
我与梦想有个约会
2023/10/20
1240
数组插入排序
PHP-web框架Laravel-数据库(一)
Laravel是一款基于PHP语言开发的Web框架,它提供了丰富的工具和库,使得构建Web应用程序变得更加简单和高效。在Laravel框架中,数据库是一个非常重要的组成部分。
堕落飞鸟
2023/04/29
5840
js 数组插入删除[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/14
6.8K0
PHP 如何向关联数组指定的 Key 之前插入元素
但是如果要在指定的键之前插入元素呢?下面的代码将 data 插入关联数组 array 的键名为
Denis
2023/04/14
4.5K0
PHP MySQL向数据库表中插入新记录
INSERT INTO table_name (column1,column2,...)
哆哆Excel
2022/10/25
20.5K0
PHP MySQL向数据库表中插入新记录
PHP-Laravel(DB类操作数据库)
按照MVC 的架构,对数据的操作应该放在 Model 中完成,但如果不使用Model,我们也可以用 laravel框架提供的 DB 类操作数据库。而且,对于某些极其复杂的sql,用Model 已经很难完成,需要开发者自己手写sql语句,使用 DB 类去执行原生sql。 laravel 中 DB 类的基本用法DB::table(‘tableName’) 获取操作tableName表的实例(对象)。
cwl_java
2020/03/27
3.8K0
PHP-Laravel简介
Laravel是一套简洁、优雅的PHP WEB开发框架(PHP Web Framework),具有富于表达性且简洁的语法,Laravel是易于理解且强大的,它提供了强大的工具用以开发大型,健壮的应用,例如具有自动验证、路由、Session、缓存、数据库迁移工具、单元测试等常用的工具和功能。
cwl_java
2020/03/27
1.2K0
点击加载更多

相似问题

Laravel VUEJS axios如何将数组插入数据库

24

如何将PHP数组插入SQL数据库

26

如何将PHP中的数组数组插入mysql数据库

10

PHP : json数组使用laravel插入mysql

12

Laravel将数据数组插入数据库

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文