首先要对默认的.env文件进行一下配置。
修改8-13行的位置
DB_CONNECTION=mysql//数据库类型
DB_HOST=localhost//数据库地址
DB_PORT=3306//端口
DB_DATABASE=laravel//使用数据库
DB_USERNAME=root//用户名
DB_PASSWORD=root//密码
然后是建议关闭一下config/database.php里的严格模式
既然是数据库那自然涉及到增删改查,而在laravel已经配置好DB门面的别名了,所以我们不需要再去配置别名,直接去web.php定义路由,当然因为我这里像把方法写在前台文件夹里所以进行了群组嵌套。
//前台路由写法
Route::group(['prefix'=>'Home/test'], function () {
Route::match(['get'],'index', 'Home\IndexController@index');
Route::match(['get'],'index1', 'Home\IndexController@index1');
//DB门面的增删改查
Route::group(['prefix'=>'DB'], function () {
Route::match(['get'],'add', 'Home\IndexController@add');//增
Route::match(['get'],'del', 'Home\IndexController@del');//删
Route::match(['get'],'update', 'Home\IndexController@update');//改
Route::match(['get'],'select', 'Home\IndexController@select');//查
});
});
当然数据库这里就不再演示创建了。
1.insert
insert():增加一条或多条数据,返回布尔
insertGetId(一维数组):只能增加一条数据,返回自增的id
引入DB:
<?php
namespace App\Http\Controllers\Home;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Input;
use DB;//必须引用
Controller层:
1.插入多条数据
public function add(){
//定义关联的表
$db = DB::table('user');
//使用insert
$result= $db -> insert([
[
'username' => 'admin',
'password' => '123456',
'age' => '99'
],
[
'username' => 'admin2',
'password' => '123456',
'age' => '98'
],
]);
dd($result);
}
2.插入一条数据
public function add(){
//定义关联的表
$db = DB::table('user');
//使用insert
$result = $db -> insert(
[
'username' => 'admin',
'password' => '123456',
'age' => '99'
]
);
dd($result);
}
浏览器执行:
数据库:
3.使用insertGetId
public function add(){
//定义关联的表
$db = DB::table('user');
//插入一条数据返回id
$result = $db -> insertGetId([
'username' => 'admin3',
'password' => '123456',
'age' => '98'
]);
dd($result);
}
浏览器执行:
数据库:
2.update
update()可以修改整个记录中的全部字段
increment()和decrement()表示修改数字字段,自增或自减
1.update
Controller层:(这里涉及到了where方法,where([字段],[运算符],[值]),如果where第二个运算符为=号,则可以省略)
public function update(){
$db = DB::table('user');
//把id=1的用户名修改
$result = $db -> where('id','=','3') -> update([
'username' => 'user'
]);
dd($result);
}
浏览器访问:(返回的是受影响行数)
数据库:
3. get查询数据
get()查询全部数据,返回结果集
first()取出单行数据
value()取出具体的数值(仅限一个)
取出指定字段(允许多个字段)
1.get()查询全部返回结果集
Controller层:
public function select(){
$db = DB::table('user');
//查询全部
$data = $db -> get();
dd($data);
}
浏览器运行:
也可以循环输出,其中$value是对象
public function select(){
$db = DB::table('user');
//查询全部
$data = $db -> get();
//循环数据
foreach ($data as $key => $value) {
echo "当前id是:{$value -> id},账户是{$value -> username},年龄是{$value -> age}<br/>";
}
}
以及可以使用where来搜索我们需要的数据。
public function select(){
$db = DB::table('user');
//查询全部
$data = $db -> get();
//循环数据
foreach ($data as $key => $value) {
echo "当前id是:{$value -> id},账户是{$value -> username},年龄是{$value -> age}<br/>";
}
//查询id大于3并且年龄大于80
$result = $db -> where('id','>','3') -> where('age','>','98') -> get();
dd($result);
}
也可以采用orWhere,orWhere便是sql中 或 的意思。
public function select(){
$db = DB::table('user');
//查询全部
$data = $db -> get();
//循环数据
foreach ($data as $key => $value) {
echo "当前id是:{$value -> id},账户是{$value -> username},年龄是{$value -> age}<br/>";
}
//查询id大于4或者年龄大于97的信息
$result = $db -> where('id','>','4') -> orWhere('age','>','97') -> get();
dd($result);
}
2.first()取出单行数据
Controller层:
public function select(){
$db = DB::table('user');
$result = $db -> first();
dd($result);
}
浏览器运行:
3.value()取出具体的数值(仅限一个)
Controller层:
public function select(){
$db = DB::table('user');
//取出指定的单条数据
$result = $db -> where('id','3') -> value('username');
dd($result);
}
浏览器运行:
4.取出指定字段(允许多个字段)
Controller层:
public function select(){
$db = DB::table('user');
//取出指定多个字段
$result = $db -> select('id','username','password') ->get();
dd($result);
dd($result);
}
浏览器运行:
5.orderBy()排序操作
public function select(){
$db = DB::table('user');
$result = $db -> orderBy('id','desc') -> get();
dd($result);
}
4.delete
Controller层:
public function del(){
$db = DB::table('user');
$result = $db -> where('id','=','3') -> delete();
dd($result);
}