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脚本的10个技巧(5)
Oct 09 PHP
cmd下运行php脚本
Nov 25 PHP
php 常用算法和时间复杂度
Jul 01 PHP
PHP过滤★等特殊符号的正则
Jan 27 PHP
php分页函数示例代码分享
Feb 24 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 PHP
PHP文件操作实例总结
Sep 27 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 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删除左端与右端空格的方法
2014/11/29 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
input按钮的事件处理大全
2010/12/10 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
Python3中bytes类型转换为str类型
2018/09/27 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
英语专业应届生求职信范文
2013/11/15 职场文书
对标管理实施方案
2014/03/12 职场文书
计算机网络专业求职信
2014/06/05 职场文书
销售人员工作自我评价
2014/09/21 职场文书
2014入党积极分子批评与自我批评思想报告
2014/10/06 职场文书
处级干部考察材料
2014/12/24 职场文书
2015年秋季新学期寄语
2015/03/25 职场文书
中职班主任培训心得体会
2016/01/07 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
MySQL中的布尔值,怎么存储false或true
2021/06/04 MySQL