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 相关文章推荐
提示Trying to clone an uncloneable object of class Imagic的解决
Oct 27 PHP
关于UEditor编辑器远程图片上传失败的解决办法
Aug 31 PHP
PHP+jQuery实现自动补全功能源码
May 15 PHP
解析php session_set_save_handler 函数的用法(mysql)
Jun 29 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
Web程序工作原理详解
Dec 25 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
Feb 04 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 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
php5.5新数组函数array_column使用
2013/07/08 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
PHP安全上传图片的方法
2015/03/21 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
JS关键字变色实现思路及代码
2013/02/21 Javascript
jquery $(&quot;#variable&quot;) 循环改变variable的值示例
2014/02/23 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
Javascript读取上传文件内容/类型/字节数
2019/04/30 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
使用JS监听键盘按下事件(keydown event)
2019/11/07 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
python实现去除下载电影和电视剧文件名中的多余字符的方法
2014/09/23 Python
python logging类库使用例子
2014/11/22 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
python线程池threadpool使用篇
2018/04/27 Python
pytorch打印网络结构的实例
2019/08/19 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
2019/08/19 Python
selenium+PhantomJS爬取豆瓣读书
2019/08/26 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
HQhair美国/加拿大:英国化妆品、美容及美发产品商城
2019/04/15 全球购物
幼儿园秋游活动方案
2014/01/21 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
2015国庆节感想
2015/08/04 职场文书
致运动员的广播稿
2015/08/19 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript