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


Posted in PHP onOctober 15, 2014

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

下面就从建模开始。

1.实体关系图,

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

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

下面开始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 相关文章推荐
PHP has encountered an Access Violation at 7C94BD02解决方法
Aug 24 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
PHP可变函数的使用详解
Jun 14 PHP
php实现网站顶踩功能的完整前端代码
Jul 19 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
php 无限级分类 获取顶级分类ID
Mar 13 PHP
php上传图片类及用法示例
May 11 PHP
PHP pear安装配置教程
May 14 PHP
php Session无效分析资料整理
Nov 29 PHP
PHP使用xpath解析XML的方法详解
May 20 PHP
PHP中OpenSSL加密问题整理
Dec 14 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
Laravel框架学习笔记(一)环境搭建
Oct 15 #PHP
php缩放gif和png图透明背景变成黑色的解决方法
Oct 14 #PHP
php保存二进制原始数据为图片的程序代码
Oct 14 #PHP
ThinkPHP 3.2 数据分页代码分享
Oct 14 #PHP
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
Oct 14 #PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
Oct 14 #PHP
PHP+jQuery 注册模块开发详解
Oct 14 #PHP
You might like
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
javascript时间差插件分享
2016/07/18 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
JQuery 又谈ajax局部刷新
2017/11/27 jQuery
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
Python 多进程原理及实现
2020/12/21 Python
html5 canvas实现跟随鼠标旋转的箭头
2016/03/11 HTML / CSS
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
法学专业个人求职信
2013/09/26 职场文书
大学团支书的自我评价分享
2013/12/14 职场文书
小孩百日宴答谢词
2014/01/15 职场文书
国际商务专业毕业生自我鉴定2014
2014/09/27 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
学校节水倡议书
2015/04/29 职场文书