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 Class 文章
Apr 04 PHP
逐步提升php框架的性能
Jan 10 PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
php操作SVN版本服务器类代码
Nov 27 PHP
如何让CI框架支持service层
Oct 29 PHP
利用PHP函数计算中英文字符串长度的方法
Nov 11 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
解析PHP之提取多维数组指定列的方法
Jan 03 PHP
PHP 实现从数据库导出到.csv文件方法
Jul 06 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
Laravel Eloquent ORM 多条件查询的例子
Oct 10 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 生成随机验证码图片代码
2010/02/08 PHP
深入解析php中的foreach函数
2013/08/31 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
JQuery从头学起第二讲
2010/07/04 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
关于在Servelet中如何获取当前时间的操作方法
2016/06/28 Javascript
vue写一个组件
2018/04/09 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
详解微信小程序中var、let、const用法与区别
2020/01/11 Javascript
Python中列表的一些基本操作知识汇总
2015/05/20 Python
python下MySQLdb用法实例分析
2015/06/08 Python
Python 基础教程之包和类的用法
2017/02/23 Python
详解Golang 与python中的字符串反转
2017/07/21 Python
python执行使用shell命令方法分享
2017/11/08 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
python图形绘制奥运五环实例讲解
2019/09/14 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
《美丽的黄昏》教学反思
2014/02/28 职场文书
租房协议书
2014/04/10 职场文书
期中考试反思800字
2014/05/01 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
PHP 对接美团大众点评团购券(门票)的开发步骤
2021/04/03 PHP
Java 死锁解决方案
2022/05/11 Java/Android