在开发mvc项目时,models都是第一步。
下面就从建模开始。
1.实体关系图,
由于不知道php有什么好的建模工具,这里我用的vs ado.net实体模型数据建模
下面开始laravel编码,编码之前首先得配置数据库连接,在app/config/database.php文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
'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文件下生成一个带时间戳前缀的迁移文件
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
<?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
先写到这里明天继续