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图片上传类带图片显示
Nov 25 PHP
php文本转图片自动换行的方法
Mar 13 PHP
如何用php生成扭曲及旋转的验证码图片
Jun 07 PHP
解析zend studio中直接导入svn中的项目的方法步骤
Jun 21 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
Oct 25 PHP
php中sql注入漏洞示例 sql注入漏洞修复
Jan 24 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
php获取json数据所有的节点路径
May 17 PHP
54个提高PHP程序运行效率的方法
Jul 19 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
简单实现php上传文件功能
Sep 21 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 04 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
杏林同学录(五)
2006/10/09 PHP
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
PHP生成图片验证码、点击切换实例
2014/06/25 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
mac系统下为 php 添加 pcntl 扩展
2016/08/28 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
[08:53]DOTA2每周TOP10 精彩击杀集锦vol.9
2014/06/26 DOTA
pyenv命令管理多个Python版本
2017/03/26 Python
python删除某个字符
2018/03/19 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
tensorboard显示空白的解决
2020/02/15 Python
python绘制趋势图的示例
2020/09/17 Python
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
如何使用PHP session
2015/04/21 面试题
农业资源与环境专业自荐信范文
2013/12/30 职场文书
实习单位接收函模板
2014/01/10 职场文书
共产党员承诺书
2014/03/25 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
给校长的建议书400字
2014/05/15 职场文书
单位工作证明书格式
2014/10/04 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android