文档章节

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

Corwien
 Corwien
发布于 2016/04/21 01:46
字数 868
阅读 285
收藏 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
粉丝 27
博文 149
码字总数 115164
作品 0
广州
程序员
私信 提问
Laravel5学生成绩管理系统-07-添加侧边栏

可能看到上面图片中的右侧栏吧,我们先把它完成,然后一一实现它的功能.将index视图文件中的read2替换成: read2 => @include('Admin.right_bar') admin/index.blade.php 接着新建Admin/right_b...

Corwien
2016/05/22
75
0
互联网经典SQL面试题及答案解析

练习前的准备 SQL环境搭建 https://www.jianshu.com/p/edca5142391c 建表语句 表结构预览 --学生表 Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性...

TOMOCAT
2018/12/14
0
0
面试时sql笔试题都在这里了!

建表 1.创建student和score表 2.为student表和score表增加记录 问题:插入的数据出现乱码是什么原因? 答:有可能是默认字符集出错。 可在navicate 下按F6打开命令行界面,然后输入下面的语句...

青春的小奋斗
2018/08/19
0
0
一道面试题中涉及到的SQL的高级使用

题目是这样的: 3、现在需要做一个全省的学生成绩资料库,系统功能和信息如下: 需要保存的信息有学生ID,学生姓名,学生成绩,所在学校,所在城市,时间 A、请你按照以上需求设计表结构,包...

cjxcloud
2016/06/05
139
0
急求,高手帮忙,成绩管理系统

使用c++语言编写 设计题目:6、成绩管理系统 (限最多5人完成) 现有学生成绩信息,内容如下 姓名 学号 语文 数学 英语 张明明 01 67 78 82 李成友 02 78 91 88 张辉灿 03 68 82 56 王露 04...

wangjungang293
2010/06/11
412
12

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
1
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部