laravel框架入门使用(DB类操作数据库)

数据表的创建与配置

1. 创建数据表,数据库

2. 配置数据库文件(数据库配置文件位置,在.env文件中),如下图
laravel框架入门使用(DB类操作数据库)_第1张图片
也可以在config目录下面的database.php文件里面配置,使用env函数,表示先从env文件里面获取,如果获取成功则使用,如果获取失败,则使用env函数的第二个参数。
laravel框架入门使用(DB类操作数据库)_第2张图片

3. 在Test控制器文件中引入DB门面(DB门面在app.php中已经定义好别名DB,可以直接使用,不需要写太长的命名空间了)



namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Input;
//引入DB门面
use DB;
class TestController extends Controller
{
		//

}

4. 定义增删改查的控制器路由

//DB门面的增删改查
Route::group(['prefix' => '/home/test'],function(){
	Route::get('add','TestController@add');
	Route::get('del','TestController@del');
	Route::get('update','TestController@update');
	Route::get('select','TestController@select');

5. 编写控制器方法

- 增加信息

//可以同时添加一条或多条数据,返回值是布尔类型
DB::table('member')->insert([]);
//只能增加一条,返回值是自增的id
DB::table('member')->insertGetId([]);
	public function add(){
		//指定需要操作的数据表
		$db=DB::table('member');
		// 使用insert增加记录
		$result=$db->insert([
			[
				'name'	=>	'马冬梅',
				'age'	=>'18',
				'email'	=>'[email protected]'
			],
			[
				'name'	=>	'马冬梅',
				'age'	=>'18',
				'email'	=>'[email protected]'
			],
			[
				'name'	=>	'马春梅',
				'age'	=>'19',
				'email'	=>'[email protected]'
			]
			
			
		]);
		
		//插入一条数据,使用insertGetId
		$result=$db->insertGetId([
					'name'	=>	'马冬梅',
					'age'	=>'18',
					'email'	=>'[email protected]'
		]);
		dd($result);
	}

- 修改数据
数据修改可以使用update()increment()decrement()来函数实现
update()表示可以修改整个记录中的全部字段
increment()decrement()表示修改数字字段的数值(递增或递减)
返回值代表受影响的行数

	public function update(){
		//定义需要操作的数据表
		$db=DB::table('member');
		//修改id为1的用户的名称为张三丰
		$rst=$db  -> where('id','=','1') -> update([
			//需要修改字段的键值对
			'name'=>'张三丰'
		]);
		dd($rst);
 	}

- 查询数据

(1)取出基本的数据

get查询的结果每一行记录是对象的形式,不是数组

DB::table('member')->get();,相当于 select * form member
public function select(){
		$db=DB::table('member');
		// //查询全部的数据
		$data=$db->get();
}
//循环遍历输出
		 foreach($data as $key=>$value){
		 echo "id是:{$value-> id},名字是:{$value->name},邮箱是:{$value->email}
"
;

注意:where方法之后继续调用where方法
where()-> where()-> where()…
这个语法是并且(and)关系语法。
where> orWhere-> orWhere …
这个语法是或者or关系语法
Orwhere方法的参数与 where一致

(2)取出单行数据(一个字段)

DB::table('member')->where('id','1')->first()
//返回值是一个对象,等价于limit 1
//取出单行数据
 $data=$db->where('id','1')->first();

(3)获取某些字段数据(多个字段)

$user=DB::table('member')->select('name','email')->get()
$user=DB::table('member')->select('name as user name')->get()
//查询指定的一些值
$data=$db->select('name','email')->get();

(4)取出某个具体的值

DB::table('member')->where('id','1')->value('name')
//取出某个具体的值
$data=$db->where('id','1')->value('email');

(5)排序操作

DB::table('member')->orderBy('age',desc)->get();
asc desc
//按照指定的字段进行排序
$data=$db->orderBy('age','desc')->get();

(6)分页操作

DB::table('member')->limit(3)->offset(2)->get();
//分页操作
 $data=$db->limit(2)->offset(1)->get();

limit:表示限制输出的条数
offset:表示从什么地方开始
组合起来等价于limit 5 ,5

laravel框架入门使用(DB类操作数据库)_第3张图片

你可能感兴趣的:(laravel)