Laravel5学生成绩管理系统-01-安装-建表-填充数据
2016-04-21 00:00
736 查看
摘要: 安装Laravel,用artisan命令创建表及填充数据
注:以下笔记都是按照此博文进行开发学习,开发环境为Mac 。
一、从github上克隆项目到本地
注:以下笔记都是按照此博文进行开发学习,开发环境为Mac 。
一、从github上克隆项目到本地
[code=plain] git clone https://github.com/RryLee/StuGradeWithLaravel5.git[/code] 二、切换到本地项目目录下,安装composer[code=plain]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目录下,方便后边不用每次都输入上次的命令[code=plain]MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ sudo mv composer.phar /usr/bin/composer MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$
// 更新composer[code=plain]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 为后边的标示[code=plain]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生成的迁移文件中,添加相关的字段:[code=plain]2016_04_23_131412_create_users_info_table.php[code=plain]<?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[code=plain]MacdeMacBook-Pro-3:laravel mac$ php artisan migrate Migrated: 2016_04_23_132854_create_users_info_table
应用artisan命令给users_info表填充数据:
用命令生成填充表UserInfoTableSeeder[code=plain]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方法添加一段可在数据库添加数据的语法:[code=plain]<?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 类名称即可:[code=plain]<?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(); } }
运行数据填充:[code=plain]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 命令整合:
创建控制器:[code=plain]php artisan make:controller Admin/AdminController
创建中间件[code=plain] php artisan make:middleware isAdmin
相关文章推荐
- workerman结合laravel开发在线聊天应用的示例代码
- 简单对比分析Ruby on Rails 和 Laravel
- laravel安装zend opcache加速器教程
- 使用 PHPStorm 开发 Laravel
- 跟我学Laravel之请求与输入
- 跟我学Laravel之视图 & Response
- PHP IDE PHPStorm配置支持友好Laravel代码提示方法
- Laravel 5.0 发布 新版本特性详解
- 详解PHP的Laravel框架中Eloquent对象关系映射使用
- 深入解析PHP的Laravel框架中的event事件操作
- 推荐几款用 Sublime Text 开发 Laravel 所用到的插件
- Laravel中使用阿里云OSS Composer包分享
- Laravel 4 初级教程之Pages、表单验证
- Laravel框架表单验证详解
- Laravel框架中扩展函数、扩展自定义类的方法
- Laravel 4 初级教程之安装及入门
- laravel安装和配置教程
- PHP开发框架laravel安装与配置教程
- 跟我学Laravel之安装Laravel
- 跟我学Laravel之配置Laravel