Laravel框架学习笔记(二)项目实战之模型(Models)

5年以前  |  阅读数:398 次  |  编程语言:PHP 

在开发mvc项目时,models都是第一步。

下面就从建模开始。

1.实体关系图,

由于不知道php有什么好的建模工具,这里我用的vs ado.net实体模型数据建模

下面开始laravel编码,编码之前首先得配置数据库连接,在app/config/database.php文件


    'mysql' => array(
      'driver' => 'mysql',
      'read' => array(
       'host' => '127.0.0.1:3306',
      ),
      'write' => array(
       'host' => '127.0.0.1:3306'
      ),
      'database' => 'test',
      'username' => 'root',
      'password' => 'root',
      'charset' => 'utf8',
      'collation' => 'utf8_unicode_ci',
      'prefix' => '',
     ),

配置好之后,需要用到artisan工具,这是一个php命令工具在laravel目录中

首先需要要通过artisan建立一个迁移 migrate ,这点和asp.net mvc几乎是一模一样

在laravel目录中 shfit+右键打开命令窗口 输入artisan migrate:make create_XXXX会在app/database/migrations文件下生成一个带时间戳前缀的迁移文件

代码:


    <?php

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

    class CreateTablenameTable extends Migration {

     /**
      * Run the migrations.
      *
      * @return void
      */
     public function up()
     {

     }

     /**
      * Reverse the migrations.
      *
      * @return void
      */
     public function down()
     {

     }

    }

看到这里有entityframework 迁移经验的基本上发现这是出奇的相似啊。

接下来就是创建我们的实体结构,laravel 的结构生成器可以参考http://v4.golaravel.com/docs/4.1/schema


    <?php

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

    class CreateTablenameTable extends Migration {

     /**
      * Run the migrations.
      *
      * @return void
      */
     public function up()
     {
      Schema::create('posts', function(Blueprint $table) {
       $table->increments('id');
       $table->unsignedInteger('user_id');
       $table->string('title');
       $table->string('read_more');
       $table->text('content');
       $table->unsignedInteger('comment_count');
       $table->timestamps();
      });

      Schema::create('comments', function(Blueprint $table) {
       $table->increments('id');
       $table->unsignedInteger('post_id');
       $table->string('commenter');
       $table->string('email');
       $table->text('comment');
       $table->boolean('approved');
       $table->timestamps();
      });

       Schema::table('users', function (Blueprint $table) {
       $table->create();
       $table->increments('id');
       $table->string('username');
       $table->string('password');
       $table->string('email');
       $table->string('remember_token', 100)->nullable();
       $table->timestamps();
      });
     }

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

      Schema::drop('comments');

      Schema::drop('users');
     }

    }

继续在上面的命令窗口输入php artisan migrate 将执行迁移

更多迁移相关知识:http://v4.golaravel.com/docs/4.1/migrations

先写到这里明天继续

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例