时间:2021-07-01 10:21:17 帮助过:20人阅读
在开发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
- <?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
先写到这里明天继续