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 相关文章推荐
如何跨站抓取别的站点的页面的补充
Oct 09 PHP
php 远程关机操作的代码
Dec 05 PHP
PHP教程 变量定义
Oct 23 PHP
PHP动态分页函数,PHP开发分页必备啦
Nov 07 PHP
php实现过滤UBB代码的类
Mar 12 PHP
CodeIgniter针对数据库的连接、配置及使用方法
Mar 03 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
php 实现301重定向跳转实例代码
Jul 18 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
Oct 24 PHP
浅谈laravel数据库查询返回的数据形式
Oct 21 PHP
PHP与Web页面的交互示例详解一
Aug 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
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
2010/06/09 PHP
php数组删除元素示例
2014/03/21 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
php自定义时间转换函数示例
2016/12/07 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
JavaScript数据类型学习笔记
2016/01/25 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
详解javascript replace高级用法
2019/02/17 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
python用插值法绘制平滑曲线
2021/02/19 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
Python根据服务获取端口号的方法
2019/09/25 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
Python 定义只读属性的实现方式
2020/03/05 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
商得四方公司面试题(gid+)
2014/04/30 面试题
硕士研究生自我鉴定
2013/11/08 职场文书
优秀村官事迹材料
2014/01/10 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
外出学习心得体会范文
2016/01/18 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
js实现自动锁屏功能
2021/06/02 Javascript
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫
Python使用Web框架Flask开发项目
2022/06/01 Python