.net转php laraval框架学习系列(二)项目实战---Models

上一篇已经介绍开发环境的搭建,如果有问题可以在文章后留言。

这篇将从项目实战开发,一步一步了解laravel框架。

在开发mvc项目时,models都是第一步。

下面就从建模开始。

1.实体关系图,

由于不知道php有什么好的建模工具,这里我用的vs ado.net实体模型数据建模

下面开始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

 1 <?php
 2
 3 use Illuminate\Database\Schema\Blueprint;
 4 use Illuminate\Database\Migrations\Migration;
 5
 6 class CreateTablenameTable extends Migration {
 7
 8     /**
 9      * Run the migrations.
10      *
11      * @return void
12      */
13     public function up()
14     {
15         Schema::create(‘posts‘, function(Blueprint $table) {
16             $table->increments(‘id‘);
17             $table->unsignedInteger(‘user_id‘);
18             $table->string(‘title‘);
19             $table->string(‘read_more‘);
20             $table->text(‘content‘);
21             $table->unsignedInteger(‘comment_count‘);
22             $table->timestamps();
23         });
24
25         Schema::create(‘comments‘, function(Blueprint $table) {
26             $table->increments(‘id‘);
27             $table->unsignedInteger(‘post_id‘);
28             $table->string(‘commenter‘);
29             $table->string(‘email‘);
30             $table->text(‘comment‘);
31             $table->boolean(‘approved‘);
32             $table->timestamps();
33         });
34
35          Schema::table(‘users‘, function (Blueprint $table) {
36             $table->create();
37             $table->increments(‘id‘);
38             $table->string(‘username‘);
39             $table->string(‘password‘);
40             $table->string(‘email‘);
41             $table->string(‘remember_token‘, 100)->nullable();
42             $table->timestamps();
43         });
44     }
45
46     /**
47      * Reverse the migrations.
48      *
49      * @return void
50      */
51     public function down()
52     {
53         Schema::drop(‘posts‘);
54
55         Schema::drop(‘comments‘);
56
57         Schema::drop(‘users‘);
58     }
59
60 }

继续在上面的命令窗口输入 php artisan migrate 将执行迁移

更多迁移相关知识:http://v4.golaravel.com/docs/4.1/migrations

先写到这里明天继续

时间: 2024-08-27 06:51:38

.net转php laraval框架学习系列(二)项目实战---Models的相关文章

.net转php laraval框架学习系列(三)项目实战---Route&amp;Controllers

本章来学习laravel的路由 一个简单的路由列子 Route::get('/', function() { return 'Hello World'; }); 路由的写法和Node的风格很相似.上面的路由直接返回ContentResult 这样容易理解一些. 再看一个复杂的Route的 Route::filter('old', function()//这是一个filter { if (Input::get('age') < 200) { return Redirect::to('home');

.net转php laraval框架学习系列

之前也没写过什么博客,可能文章结构比较混乱,想到那写到哪. 主要是把自己学习中的经验写下来. 为什么选择laravel框架,是因为laravel框架目前是Php最流行的框架,深入研究后发现和asp.net mvc框架在功能上基本上是伯仲之间.只是各自的实现方法不同. php在windows下的开发环境搭建 1.下载php地址 http://windows.php.net/download/ 注意相关版本,我的服务器用的iis7.5 32 系统 VC11 x86 Non Thread Safe (

.net转php laraval框架学习系列(四) 项目实战---View

laravel的参考文档中view的讲解有些简单. 在实际项目开发中view的灵活性其实是非常大. 首先来看看laravel中的布局页 和asp.net mvc中有什么不同 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!--这里相当于asp.net mvc 中的一个@section('title',false)--> @section('title') <t

ASP.NET MVC学习系列(二)-WebAPI请求

继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$.ajax({type:"get"}) 来实现: 请求的后台Action方法仍为上篇文章中的GetU

spring框架学习(二)依赖注入

转自:http://blog.csdn.net/lishuangzhe7047/article/details/20740835 ———————————————————————————————————————————— spring框架为我们提供了三种注入方式,分别是set注入,构造方法注入,接口注入.接口注入不作要求,下面介绍前两种方式. 1,set注入 采用属性的set方法进行初始化,就成为set注入. 1)给普通字符类型赋值. [java] view plaincopyprint? pub

web前端Vue+Django&#160;rest&#160;framework&#160;框架&#160;生鲜电商项目实战视频教程 学习

web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习 1.drf前期准备 1.django-rest-framework官方文档 https://www.django-rest-framework.org/ #直接百度找到的djangorestframework的官网是打不开的 2.安装依赖包 如图所示,django restframework的依赖模块,除了coreapi和django-guardian,已经在前面安装过了. 打开终端,执行安装命令

ASP.NET MVC学习系列(二)-WebAPI请求(转)

转自:http://www.cnblogs.com/babycool/p/3922738.html 继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$.ajax

Java学习系列(二十四)Java正则表达式详解

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/45501777 前言 正则表达式可以说是用来处理字符串的一把利器,它是一个专门匹配n个字符串的字符串模板,本质是查找和替换.在实例演示之前先了解一下Pattern.Matcher这两个工具类,Pattern:编译好的带匹配的模板(如:Pattern.compile("[a-z]{2}");/ / 取2个小写字母):Matcher:匹配目标字符串后产生的结果(如:pattern.m

selenium + python自动化测试unittest框架学习(二)

1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py >test_case >__init__.py >test_case1..... >public >__init__.py >login.py >loginout.py test_case文件夹主要存放测试用例,且测试用例命名以test_开头 public文件夹是test