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.ini中date.timezone设置分析
Jul 29 PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 PHP
PHP array_multisort() 函数的深入解析
Jun 20 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
Sep 23 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
JS异常处理try..catch语句的作用和实例
May 05 PHP
php创建多级目录的方法
Mar 24 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
Apr 01 PHP
php根据生日计算年龄的方法
Jul 13 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP+ajax实现获取新闻数据简单示例
May 08 PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 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后台程序与Javascript的两种交互方式
2009/10/25 PHP
php 中英文语言转换类代码
2011/08/11 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
JavaScript中关于indexOf的使用方法与问题小结
2010/08/05 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
jQuery/JS监听input输入框值变化实例
2019/10/17 jQuery
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
python使用matplotlib绘制折线图教程
2017/02/08 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
python 正确保留多位小数的实例
2018/07/16 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
最小二乘法及其python实现详解
2020/02/24 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
汇智创新科技发展有限公司
2015/12/06 面试题
企业优秀员工事迹材料
2014/05/28 职场文书
十佳家长事迹材料
2014/08/26 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
高一作文之乐趣
2019/11/21 职场文书
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
一条慢SQL语句引发的改造之路
2022/03/16 MySQL