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的5个入手程序
Nov 23 PHP
php开发工具之vs2005图解
Jan 12 PHP
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
关于session在PHP5的配置文件中的详细设置参数说明
Apr 20 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
php弹出对话框实现重定向代码
Jan 23 PHP
修改ThinkPHP缓存为Memcache的方法
Jun 25 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 PHP
php+mysql实现无限级分类
Nov 11 PHP
docker-compose部署php项目实例详解
Jul 30 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 删除一个数组中的某个值.兼容多维数组!
2012/02/18 PHP
PHP人民币金额转大写实例代码
2015/10/02 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
jquery实现用户打分评分特效
2015/05/28 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
javascript中this指向详解
2016/04/23 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
Javascript数组循环遍历之forEach详解
2016/11/07 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
浅谈AngularJS中$http服务的简单用法
2018/05/15 Javascript
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
2018/11/09 Javascript
JS实现简单的点赞与踩功能示例
2018/12/05 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
python使用urlparse分析网址中域名的方法
2015/04/15 Python
Python多线程爬虫简单示例
2016/03/04 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
Python imageio读取视频并进行编解码详解
2019/12/10 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
实习教师个人的自我评价
2013/11/08 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
百年校庆感言
2015/08/01 职场文书
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python