文档章节

Laravel5学生成绩管理系统-01-安装-建表-填充数据

Corwien
 Corwien
发布于 2016/04/21 01:46
字数 868
阅读 778
收藏 5

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

注:以下笔记都是按照此博文进行开发学习,开发环境为Mac 。

一、从github上克隆项目到本地

 
 git clone https://github.com/RryLee/StuGradeWithLaravel5.git

二、切换到本地项目目录下,安装composer

MacdeMacBook-Pro-3:~ mac$ cd Desktop
MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading 1.0.1...

Composer successfully installed to: /Users/mac/Desktop/StuGradeWithLaravel5/composer.phar
Use it: php composer.phar

   

  // 可以将上边的命令放入到 bin目录下,方便后边不用每次都输入上次的命令

MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ sudo mv composer.phar /usr/bin/composer
MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$

 

  // 更新composer

MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ composer update

 

更新出现这样的问题,-_-!!!

MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ composer update

Loading composer repositories with package information

Updating dependencies (including require-dev)

Your requirements could not be resolved to an installable set of packages.

  Problem 1

    - laravel/framework v5.0.9 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.

看起来是php没有安装mcrypt扩展,如何安装mcrypt具体可以参考我的另一篇博文:

Mac下安装PHP的mcrypt扩展的方法

 

三、创建表和创建数据

桌面进入:

MacdeMacBook-Pro-3:~ mac$ cd Desktop/StuGrade

MacdeMacBook-Pro-3:StuGrade mac$

MacdeMacBook-Pro-3:StuGrade mac$ php artisan serve

Laravel development server started on http://localhost:8000/

 

利用Migration创建一个用户详细表

  生成一个表,注意表名一般为复数    --create=users_info 为后边的标示

MacdeMacBook-Pro-3:laravel mac$ php artisan make:migration create_users_info_table  --create=users_info
Created Migration: 2016_04_23_131412_create_users_info_table
MacdeMacBook-Pro-3:laravel mac$

 

   然后在database/migrations生成的迁移文件中,添加相关的字段:

2016_04_23_131412_create_users_info_table.php
<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
           $table->integer('id')->unique()->unsigned(); // 学号唯一,取正数
            $table->string('name');
            $table->string('password');
            $table->string('phone')->default('');
            $table->string('sex')->default('');
            $table->string('email')->default('');
            $table->string('pro_class')->default('');
            $table->boolean('is_admin')->default(0);
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('users');
    }
}

 

最后,执行 php artisan migrate命令,在数据库中生成表users_info

MacdeMacBook-Pro-3:laravel mac$ php artisan migrate
Migrated: 2016_04_23_132854_create_users_info_table

 

  应用artisan命令给users_info表填充数据

  用命令生成填充表UserInfoTableSeeder

 

MacdeMacBook-Pro-3:~ mac$ cd Desktop/laravel
MacdeMacBook-Pro-3:laravel mac$ php artisan make:seeder UsersInfoTableSeeder
Seeder created successfully.
MacdeMacBook-Pro-3:laravel mac$

 

 

如下所示,我们将修改 Laravel 预先生成好的 UserInfoTableSeeder 类来给 run 方法添加一段可在数据库添加数据的语法:

<?php

use Illuminate\Database\Seeder;
use App\UsersInfo;
use App\Grade;

class UsersInfoTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('users_info')->delete();

        UsersInfo::create([
            'id' => 2010300001,
            'name' => '周润发',
            'password' => Hash::make('2010300001'),
        ]);
        UsersInfo::create([
            'id' => 2010300002,
            'name' => '周星驰',
            'password' => Hash::make('2010300002'),
        ]);
        UsersInfo::create([
            'id' => 2010300003,
            'name' => '成龙',
            'password' => Hash::make('2010300003'),
        ]);
        UsersInfo::create([
            'id' => 2010300004,
            'name' => '张曼玉',
            'password' => Hash::make('2010300004'),
        ]);
        UsersInfo::create([
            'id' => 2010300005,
            'name' => '林青霞',
            'password' => Hash::make('2010300005'),
        ]);


    }
}

 

 

在 DatabaseSeeder 类中,你可以使用 call 方法来运行其它的 seed 类。为避免发生单个 seeder 类变得太大的情况,可使用 call方法来将数据填充拆分成多个文件。只需简单传递你想要运行的 seeder 类名称即可:

<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();

        // 执行插入用户详细数据
         $this->call(UsersInfoTableSeeder::class);

        Model::reguard();
    }
}

 

   运行数据填充:

MacdeMacBook-Pro-3:laravel mac$ composer dump-autoload
Generating autoload files
MacdeMacBook-Pro-3:laravel mac$ php artisan db:seed
Seeded: UsersInfoTableSeeder

 

  查看users_info表,数据填充OK:

数据填充,Laravel中文官方文档http://laravel-china.org/docs/5.1/seeding

 

PHP artisan 命令整合:

创建控制器:

php artisan make:controller Admin/AdminController

 

创建中间件

     
php artisan make:middleware isAdmin

 

© 著作权归作者所有

Corwien
粉丝 28
博文 150
码字总数 116503
作品 0
广州
程序员
私信 提问
加载中

评论(0)

每天30分钟 一起来学习爬虫——day16(数据存储 之 MySQL 简单操作)

MySQL 什么是MySQL MySQL 的一些特性 安装Mysql windows 安装 数据库的启动 基础操作 数据库操作 表操作 数据操作 查询操作 什么是MySQL MySQL是一个关系型数据库管理系统,在 WEB 应用方面,...

yjr-1100
04/05
0
0
MySQL(01)--基础练习

设计学生表和班级表 comment 表示字段的注释,方便后面加入项目开发的人员快速了解每一个字段的意思。 消除重复行 在select后面列前使用distinct可以消除重复的行 distinct的使用需要放在第一...

osc_6xz9lafx
2019/07/18
1
0
接近50道经典SQL练习题,附建表SQL解题SQL

说明 本文章整理了47道常见sql联系题,包括建表语句,表结构,习题列表,解题答案都涵盖在本文章内。文末提供了所用SQL脚本下载链接。所有解题答案都是本人自己写的,广大读者如果在阅读使用...

osc_ppqrx03f
04/16
17
0
MySQL数据库--学生管理系统数据库设计

[toc] 学生管理系统数据库设计 设计一套数据库首先要熟悉当前系统有哪些功能,具体的业务流程是什么 学生管理系统功能介绍 一套学校用的学生管理系统,最核心的功能如下 学生信息管理(增加学生...

osc_6k4tw8mn
2019/09/29
14
0
Python连接SqlServer+GUI嵌入式——学生管理系统1.0

学生管理系统1.0 1.建学生数据库 2.数据库嵌入高级语言(Python) 3.界面设计 简化思路: 1.先通过SqlServer2012建立学生数据库,包括账号、密码,姓名、选课等信息 2.运用Python的pymssql库...

osc_joco7w0s
04/16
67
0

没有更多内容

加载失败,请刷新页面

加载更多

c/c++编写window服务的授权服务(二)

//c/c++编写window服务的授权服务(二) //定义授权服务的头文件LicenseService.h #pragma once //建立工程:win32控制平台应用程序 //LicenseService.cpp //用C/C++编写的Window服务一例 //安...

osc_wxsc35it
2分钟前
0
0
开发一个大型后台管理系统,应该用前后端分离的技术方案吗?

话说这天,我们团队开会讨论了一个问题,不,与其说“讨论”,不如说“争吵”更合适。 背景是这样的: 我们要开发一个 xxx 后台管理系统,这个系统业务复杂、功能又多,大家的争吵集中在“这...

osc_qalfjuu8
4分钟前
0
0
美团点评的移动端网络优化实践:大幅提升连接成功率、速度等

1、引言 网络优化对于移动端App产品的用户体验至关重要,也与公司的运营和营收息息相关。 这里列举两个公开的数据: “《页面加载超过3秒,57%的用户会离开》” “《Amazon页面加载延长1秒,...

imtech
4分钟前
5
0
在webstorm 中直接运行ts文件

安装插件后重启IDE Run Configuration for TypeScript

阿豪boy
4分钟前
13
0
PyCharm2020激活破解教程

本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12767075.html 正版肯定是要支持的,但是贫穷限制了我。现在买是不可能买的,只能靠着破解激活来维持生计...

osc_91g5cdgs
5分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部