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提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
Mar 05 PHP
php通过数组实现多条件查询实现方法(字符串分割)
May 06 PHP
PHP中的一些常用函数收集
May 26 PHP
php文件操作之小型留言本实例
Jun 20 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
抛弃 PHP 代价太高
Apr 26 PHP
PHP下载文件的函数实例代码
May 18 PHP
php源码 fsockopen获取网页内容实例详解
Sep 24 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
Sep 04 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
Apr 15 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 28 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
jQuery 位置插件
2008/12/25 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
JavaScript内核之基本概念
2011/10/21 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
JavaScript的递归之递归与循环示例介绍
2013/08/05 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
实用框架(iframe)操作代码
2014/10/23 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
2015/06/25 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
Python高效编程技巧
2013/01/07 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
利用python实现逐步回归
2020/02/24 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
奥斯汀独木舟和皮划艇:Austin Canoe & Kayak
2018/05/22 全球购物
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
早读迟到检讨书
2014/01/24 职场文书
廉洁自律承诺书
2014/03/27 职场文书
户外亲子活动总结
2015/05/08 职场文书
给老婆的保证书怎么写
2015/05/08 职场文书
初二数学教学反思
2016/02/17 职场文书
协议书格式模板
2016/03/24 职场文书
python 实现两个变量值进行交换的n种操作
2021/06/02 Python
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技
Python如何加载模型并查看网络
2022/07/15 Python