tp5模型save与create

以往tp3.2里模型插入数据库的方法通常使用add

tp5后一开始我发现save与create方法都能插入数据

也不知道有什么分别,后来一般都使用create方法

终于有一次操作关联表时,由于使用create没有返回主键

导致关联表的另一个字段没有写入到调用的实例里

通过查看文档使用save解决

原文地址:https://www.cnblogs.com/xueTP/p/8454201.html

时间: 2024-10-10 10:21:55

tp5模型save与create的相关文章

TP5 模型CURD

ThinkPHP5的模型是一种对象-关系映射(Object / Relation Mapping ,简称 ORM)的封装,并且提供了简洁的ActiveRecord实现.一般来说,每个数据表会和一个"模型"对应. ThinkPHP5 模型类和Db类的区别主要在于对象的封装,Db类的查询默认返回的是数组(或者集合),而模型类返回的是当前的模型对象实例(或者集合),模型是比Db类更高级的数据支持模型关联.模型事件. ThinkPHP5 模型属性$table 不再是包含表前缀的表名:$name

TP5模型belongsTo和hasOne的区别

在使用tp5模型的ORM的时候出现belongsTo和hasOne都有表示一对一的关系,但是二者并不相同.以下举例说明两者的区别: 首先有user表 字段 id name password字段 然后有user_address表 id user_id city字段 在User模型中关联user_address表的时候使用hasOne,因为在user表中没有关联两个表的外键 在UserAddress模型中关联user表的时候使用belongsTo,因为在user_address表中有关联两个表的外键

TP5模型belongsTo和hasOne这两个方法的区别

在使用tp5模型的ORM的时候出现belongsTo和hasOne都有表示一对一的关系,但是二者并不相同.以下举例说明两者的区别: 首先有user表 字段 id name password字段 然后有user_address表 id user_id city字段 在User模型中关联user_address表的时候使用 hasOne,因为在user表中没有关联两个表的外键 在UserAddress模型中关联user表的时候使用 belongsTo,因为在user_address表中有关联两个表的

tp5 模型返回类型

dump(,,) 查看返回数据的类型 1.模型的 all 方法或者 select 方法返回的是一个包含模型对象的二维数组或者数据集对象. 2.get 或者 find 方法返回的是当前模型的对象实例,可以使用模型方法. 3.

TP5 模型类和Db类的使用区别

假如有个Order模型  ,在尝试使用时有以下结果 使用 self::get(); 获取数据时正确的 self::with('user')->get() 这里会提示 method not exist:think\db\Query->get 只有单独get 时才会是正确的 ,不能够加入其他语句条件

<笔记>TP5的save方法返回值

用save方法来更新数据时,若更新前后数据没有改变则返回0,更新成功返回影响行数,更新失败返回false 若想要数据没改变时提示修改成功,则需要严格判断 if(结果!==false){提示成功}而不是 if(结果){提示成功} 记住是!==而不是!=

tp5模型一对一关联hasOne

在一个模型中,新建方法实现外键关联 <?php namespace app\user\model; use think\Model; class GridmanReportLogs extends Model { protected $table = 'sq_gridman_report_logs'; protected $pk = 'id'; protected $resultSetType = 'collection'; public function reportTypeName() {

数据据操作 tp5

数据库操作-DB类 学习手册 数据库配置 注意1:在TP里面,可以在模块下面单独的建立一个database.php配置文件,代表这个模块就使用配置的这个数据库 注意2:我们可以在config.php里面配置多个数据信息也是可以的 数据库操作-查询 先在控制器引入Db类 使用Db类的query方法即可 查询也可以使用占位符 数据库操作-增删改 使用Db类的execute方法 数据库切换 在application/config.php里面配置一个db1的数据库信息 使用Db::connect('db

Django模型修改及数据迁移

Migrations Django中对Model进行修改是件麻烦的事情,syncdb命令仅仅创建数据库里还没有的表,它并不对已存在的数据表进行同步修改,也不处理数据模型的删除. 如果你新增或修改数据模型里的字段,或是删除了一个数据模型,你需要手动在数据库里进行相应的修改或者使用South.Django 1.7中已经集成了South的代码,提供了3个新命令: migrate: 用于执行迁移动作,具有syncdb的功能 makemigrations: 基于当前的model创建新的迁移策略文件 sql