Laravel小项目之第3节 Laravel-表单列表及分页实现
来源:互联网 发布:linux 建立多级目录 编辑:程序博客网 时间:2024/04/28 11:51
第3节 Laravel-表单列表及分页实现
3.1 创建数据库、student表3.2 数据库配置文件3.3 创建模型3.4 用户列表页3.5 实现分页功能
3.1 创建数据库、student表
创建数据库,打开CMD,执行下列SQL命令。
-- 库名CREATE DATABASE `example`;-- 选库use example-- 学生信息表CREATE TABLE `student`( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '学生姓名', `age` INT(3) NOT NULL DEFAULT 0 COMMENT '年龄', `sex` TINYINT(1) NOT NULL DEFAULT 2 COMMENT '0:女,1:男,2:未知')ENGINE=InnoDB DEFAULT CHARSET=utf8;-- 测试数据INSERT INTO `student` (name, age, sex) VALUES('张三', 20, 1),('李四', 18, 1),('王五', 90, 1),('王婆', 99, 0),('李桂花', 66, 0),('小丽', 16, 2);
3.2 数据库配置文件
配置文件:.env
DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=exampleDB_USERNAME=rootDB_PASSWORD=root
在项目中,我们将会使用 Eloquent ORM
操作数据库,这里我们使用 查询构造器
测试数据库连接情况。
在控制器中 app\Http\Controllers\StudentController.php
<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use App\Http\Requests;use DB;class StudentController extends Controller{ public function index() { $students = DB::table('student')->get(); dd($students); return view('student/index'); }}
访问首页查看测试效果:
在 DB facade 上使用 table 方法, table 方法会针对指定的数据表返回一个查询构造器实例,允许你在查询时链式调用更多约束,并得到最终结果。在这个例子中,我们将会从一个数据表中来获取所有的记录。
3.3 创建模型
创建模型实例的最简单方法是使用 make:model Artisan 命令:
php artisan make:model models/Student
生成的模型文件在:app\models\Student.php
<?phpnamespace App\models;use Illuminate\Database\Eloquent\Model;class Student extends Model{ //}
在模型上定义一个 table 属性,用来指定自定义的数据表名称,否则默认是以模型的复数形式名称作为数据表的名称。
\app\models\Student.php
<?phpnamespace App\models;use Illuminate\Database\Eloquent\Model;class Student extends Model{ /** * 与模型相关的数据表 */ protected $table = "student"; /** * 指定是否模型应该被戳记时间 */ public $timestamps = false;}
3.4 用户列表页
app\Http\Controllers\StudentController.php
class StudentController extends Controller{ /** * 用户列表页 * * @param * @return void * @author webjust [604854119@qq.com] */ public function index() { // 使用模型获取全部数据 $students = Student::get(); // 渲染 student/index 视图,并传递查询出来的全部数据 return view('student/index', ['students' => $students]); }}
在视图中显示全部的数据:
\resources\views\student\index.blade.php
@foreach($students as $student)<tr> <th scope="row">{{ $student->id }}</th> <td>{{ $student->name }}</td> <td>{{ $student->age }}</td> <td>{{ $student->sex }}</td> <td>2016-01-01</td> <td> <a href="">详情</a> <a href="">修改</a> <a href="">删除</a> </td></tr>@endforeach
显示效果如下:
这里我们再修改表结构,增加2个字段吧!
执行SQL语句:
-- 修改student表结构ALTER TABLE `student` ADD `created_time` INT(10) NULL DEFAULT 0 COMMENT '用户创建时间' AFTER `sex`;ALTER TABLE `student` ADD `updated_time` INT(10) NULL DEFAULT 0 COMMENT'最后修改时间' AFTER `created_time`;-- 添加1条测试数据INSERT INTO `student` (name, age, sex, created_time, updated_time) VALUES('侯亮平', 35, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
修改视图文件:
@foreach($students as $student)<tr> <th scope="row">{{ $student->id }}</th> <td>{{ $student->name }}</td> <td>{{ $student->age }}</td> <td>{{ $student->sex }}</td> <td>{{ date('Y-m-d', $student->created_time) }}</td> <td> <a href="">详情</a> <a href="">修改</a> <a href="">删除</a> </td></tr>@endforeach
3.5 实现分页功能
在Laravel中添加分页非常简单,对 Eloquent 模型进行分页,我们将对 Student 模型进行分页并且设置其每页有 5 条数据。
$students = Student::paginate(5);
将分页结果显示在视图中:
<!-- 分页 --><div class="pull-right"> {{ $students->links() }}</div>
实现效果如图:
阅读全文
0 0
- Laravel小项目之第3节 Laravel-表单列表及分页实现
- Laravel小项目之第4节 Laravel-通过表单实现新增及操作状态提示功能
- Laravel小项目之第5节 Laravel-表单验证及数据保持详解
- Laravel小项目之第7节 Laravel-通过表单实现修改
- Laravel小项目之第8节 Laravel-表单中查看详情及删除 8.1 给HTML添加链接
- Laravel小项目之第1节 Laravel-表单案例演示
- Laravel小项目之第2节 Laravel-静态资源管理及模板布局
- Laravel小项目之第6节 Laravel-通过模型处理性别
- laravel之表单篇
- Laravel 手动分页实现
- laravel 分页实现
- Laravel 分页缓存的实现
- laravel中的数组分页实现
- Laravel 手动分页实现详解
- Laravel 手动分页实现详解
- laravel 表单
- php Laravel 框架之分页
- Laravel分页
- Eclipse配置JNDI连接池
- 抽象Bean与子Bean
- 第二章 SQL命令参考-MOVE
- 搭建zookeeper集群
- 结合redis设计与实现的redis源码学习-8.2-t_string(字符串键)
- Laravel小项目之第3节 Laravel-表单列表及分页实现
- 误差与最大似然估计的个人理解
- ikbc机械键盘测评
- HYSBZ
- Ubuntu环境部署
- Laravel小项目之第4节 Laravel-通过表单实现新增及操作状态提示功能
- 操作zookeeper之原生API的基本操作
- java日常学习:instanceof、final和抽象类
- Tensorflow学习与应用三