本文实例讲述了laravel框架数据库操作、查询构建器、Eloquent ORM操作。分享给大家供大家参考,具体如下:
1、连接数据库
laravel连接数据库的配置文件位于config/database.php中,在其中connection字段中包含laravel所支持的数据库的配置信息,可以看到其中有主机、端口、数据库、用户名、密码等信息:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
其中都是引入env文件中的默认值,laravel目录最外层有.env文件,在其中配置对应的默认值
DB_HOST=数据库服务器地址
DB_PORT=数据库端口
DB_DATABASE=数据库名
DB_USERNAME=用户名
DB_PASSWORD=密码
2、原生SQL操作数据库
在controller中对数据库进行增删改查的操作
public static function testDB(){
//增加一条数据
DB::insert("insert into student(name,age) values(?,?)",['sandy',19]);
//删除一条数据
DB::delete('delete from student where name=?',['sandy']);
//修改一条数据
DB::update('update student set sex=? where name=?',['男','tory']);
//查询数据
$res=DB::select('select * from student');
//进行数据库通用操作
DB::statement('drop table users');
//打印结果
dd($res);
}
其中通过?占位符的方式进行了参数绑定,以此来防止数据库注入攻击,也可以通过命名绑定的方式:
$res = DB::select('select * from users where id = :id', ['id' => 1]);
3、通过查询构建器操作数据库
Laravel将常用的数据库操作封装为接口函数提供给用户调用,从而使数据库操作更为便捷,这些接口就是查询构建器(query builder)。而且通过PDO绑定的方式避免SQL注入攻击,在使用查询构建器时不必考虑过滤用户输入。
3.1、得到结果集
lavarel查询的返回结果集合是StdClass,可以通过$res->name类似访问对象属性的方式访问返回值。如果要查询整个表使用get(),查询表中一条数据使用first(),查询一条数据的某个字段用value(),查询表中所有数据的某个字段用pluck()
//get()返回表中所有数据
$res=DB::table('student')->get();
//first()返回结果集中的第一条数据
$res=DB::table('student')->where('id','1001')->first();
//value()返回一条数据中的指定字段
$res=DB::table('student')->where('id','1003')->value('name');
//pluck()返回结果集中name字段的所有值
$res=DB::table('student')->pluck('name');
内容版权声明:除非注明,否则皆为本站原创文章。
