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+Ajax实现唯一校验实现代码[简单应用]
Nov 29 PHP
解析php中const与define的应用区别
Jun 18 PHP
PHP基于imap获取邮件实例
Nov 11 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
Jan 08 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
PHP函数rtrim()使用中的怪异现象分析
Feb 24 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
Laravel如何实现自动加载类
Oct 14 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 17 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 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
ajax php 实现写入数据库
2009/09/02 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
artDialog+plupload实现多文件上传
2016/07/19 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
vue自定义指令的创建和使用方法实例分析
2018/12/04 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
python 列表降维的实例讲解
2018/06/28 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
小学岗位竞聘方案
2014/01/22 职场文书
中式餐厅创业计划书范文
2014/01/23 职场文书
求职毕业生自荐书
2014/02/08 职场文书
诉前财产保全担保书
2014/05/20 职场文书
保护地球的标语
2014/06/17 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
早恋主题班会
2015/08/14 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android
JavaScript执行机制详细介绍
2021/12/06 Javascript