.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

先写到这里明天继续

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。