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

 更新时间:2014年10月15日 09:05:57   投稿:hebedich  
上一篇已经介绍开发环境的搭建,这篇将从项目实战开发,一步一步了解laravel框架。首先我们来了解下laravel框架的模型 (Models)

在开发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

先写到这里明天继续

相关文章

  • ThinkPHP查询语句与关联查询用法实例

    ThinkPHP查询语句与关联查询用法实例

    这篇文章主要介绍了ThinkPHP查询语句与关联查询用法,以实例的形式常见的查询方法,包括数组作为查询条件及对象方式来查询等技巧,需要的朋友可以参考下
    2014-11-11
  • YII框架http缓存操作示例

    YII框架http缓存操作示例

    这篇文章主要介绍了YII框架http缓存操作,结合实例形式分析了Yii框架针对http缓存的禁用、启用、读写、显示等相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • Zend Framework实现多服务器共享SESSION数据的方法

    Zend Framework实现多服务器共享SESSION数据的方法

    这篇文章主要介绍了Zend Framework实现多服务器共享SESSION数据的方法,详细分析了SESSION数据共享的原理与实现技巧,需要的朋友可以参考下
    2016-03-03
  • yii2中使用webuploader实现图片上传的实战项目

    yii2中使用webuploader实现图片上传的实战项目

    本篇文章主要主要介绍了yii2中使用webuploader实现图片上传的实战项目,具有一定的参考价值,有兴趣的同学可以了解一下
    2017-09-09
  • yii2多图上传组件的使用教程

    yii2多图上传组件的使用教程

    这篇文章主要介绍了yii2多图上传组件的使用教程,在使用过程中有许多注意要点,下面小编给大家分享到脚本之家平台,需要的朋友可以参考下
    2018-05-05
  • thinkphp3.2实现上传图片的控制器方法

    thinkphp3.2实现上传图片的控制器方法

    这篇文章主要介绍了thinkphp3.2实现上传图片的控制器方法,结合实例形式分析了thinkPHP图片文件上传相关的文件类型判断,文件路径及相关属性操作技巧,需要的朋友可以参考下
    2016-04-04
  • php 购物车完整实现代码

    php 购物车完整实现代码

    本文介绍一个php实现的购物车代码,功能实现比较完整,实现了购物车、订货人信息、会员价等功能,还是不错的,有需要的朋友,可以参考下
    2014-06-06
  • codeigniter中view通过循环显示数组数据的方法

    codeigniter中view通过循环显示数组数据的方法

    这篇文章主要介绍了codeigniter中view通过循环显示数组数据的方法,实例分析了codeigniter中view方法与数组遍历的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php检测文件编码的方法示例

    php检测文件编码的方法示例

    这篇文章主要介绍了php检测文件编码的方法示例,需要的朋友可以参考下
    2014-04-04
  • php读取excel文件示例分享(更新修改excel)

    php读取excel文件示例分享(更新修改excel)

    这篇文章主要介绍了php读取excel文件示例,还有更新修改功能,需要的朋友可以参考下
    2014-02-02

最新评论