当前位置: 首页 > 后端技术 > PHP

Laravel的ORM返回数据类型总结

时间:2023-03-29 20:26:46 PHP

相信很多人在学习Laravel的时候都会对ORM返回的数据类型感到困惑,比如返回集合、模块或者整数类型。下面将对增删改查操作做一个总结。1.简介Laravel的数据库查询构建器为创建和运行数据库查询语句提供了一个方便流畅的界面。它可用于执行应用程序中的大部分数据库操作,并且可用于所有支持的数据库系统。Laravel的查询生成器使用PDO参数绑定来保护您的应用程序免受SQL注入攻击。在绑定它们之前不需要清理传入的字符串。二、查询1、从数据表中获取所有数据列1、查询中的get和all方法返回一个集合。Example#你可以使用DB门面的table方法来启动一个查询。table方法返回查询表的查询构建器实例,允许您在查询上链接更多约束并使用get方法获取最终结果:publicfunctionindex(){$users=DB::table('users')->获取();returnview('user.index',['users'=>$users]);}get方法会返回一个Illuminate\Support\Collection结果集,每个结果集都是一个PHPStdClass对象的实例。可以通过访问列中对象的属性来访问每一列的值:foreach($usersas$user){echo$user->name;}2.当没有数据时,返回一个空集合。该集合可以随时调用toArray方法。如果查询结果为空,结果为[],可以使用empty()方法判断是否有数据。2、从数据表中获取单个列或行如果只需要从数据表中获取一行数据,可以使用第一种方法。此方法将返回单个StdClass对象:$user=DB::table('users')->where('name','John')->first();echo$用户->名字;如果不需要整行数据,可以使用value方法从单个记录中获取单个值。这个方法会直接返回字段的值:$email=DB::table('users')->where('name','John')->value('email');首先如果没有查到数据,返回如果为null,可以用empty判断。3、插入数据添加数据的create和insert方法以及查询中的第一个方法都会成功返回模块。创建和插入成功返回创建和插入数据的模型。如果first找不到数据,则返回null,可以判断为空。创建并插入,如果失败会报错(当传入的字段与数据库不匹配时)。输入字段与数据库字段一致,如果插入或创建失败,则返回false判断是否插入成功,用(!$result)判断,(感叹号和$result之间留一个空格).toArray只能在判断完成后调用。四、更新和删除1.更新和删除、销毁方法返回受影响的行数。在laravel中,update方法总是返回大于1的行数,因为updated_at字段总是被更新。如果你想避免这种情况,请在你的模型中关闭laravel的自动维护字段属性。2、destory和delete返回受影响的行数,即失败为0,成功则为删除的行数。相关文章:Laravel的一点经验总结深入理解LaravelEloquent(三)——模型之间的关系(association)