Laravel框架學(xué)習(xí)筆記(二)項目實戰(zhàn)之模型(Models)
在開發(fā)mvc項目時,models都是第一步。
下面就從建模開始。
1.實體關(guān)系圖,
由于不知道php有什么好的建模工具,這里我用的vs ado.net實體模型數(shù)據(jù)建模

下面開始laravel編碼,編碼之前首先得配置數(shù)據(jù)庫連接,在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 遷移經(jīng)驗的基本上發(fā)現(xiàn)這是出奇的相似啊。
接下來就是創(chuàng)建我們的實體結(jié)構(gòu),laravel 的結(jié)構(gòu)生成器可以參考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');
}
}
繼續(xù)在上面的命令窗口輸入php artisan migrate 將執(zhí)行遷移
更多遷移相關(guān)知識:http://v4.golaravel.com/docs/4.1/migrations
先寫到這里明天繼續(xù)
- Laravel框架源碼解析之入口文件原理分析
- Laravel框架源碼解析之反射的使用詳解
- Laravel源碼解析之路由的使用和示例詳解
- 通過源碼解析Laravel的依賴注入
- laravel model模型定義實現(xiàn)開啟自動管理時間created_at,updated_at
- laravel model模型處理之修改查詢或修改字段時的類型格式案例
- Laravel5.1 框架模型工廠ModelFactory用法實例分析
- Laravel 5框架學(xué)習(xí)之模型、控制器、視圖基礎(chǔ)流程
- Laravel模型事件的實現(xiàn)原理詳解
- Laravel模型間關(guān)系設(shè)置分表的方法示例
- laravel學(xué)習(xí)教程之關(guān)聯(lián)模型
- Laravel框架源碼解析之模型Model原理與用法解析
相關(guān)文章
基于thinkPHP類的插入數(shù)據(jù)庫操作功能示例
這篇文章主要介紹了基于thinkPHP類的插入數(shù)據(jù)庫操作功能,結(jié)合實例形式分析了thinkPHP數(shù)據(jù)庫操作的常用技巧,需要的朋友可以參考下2017-01-01
PHP + plupload.js實現(xiàn)多圖上傳并顯示進度條加刪除實例代碼
本篇文章主要介紹了PHP + plupload.js實現(xiàn)多圖上傳并顯示進度條加刪除實例代碼。具有一定的參考價值,有興趣的可以了解一下。2017-03-03
Yii2.0高級框架數(shù)據(jù)庫增刪改查的一些操作
yii2.0框架是PHP開發(fā)的一個比較高效率的框架,集合了作者的大量心血,下面通過用戶為例給大家詳解yii2.0高級框架數(shù)據(jù)庫增刪改查的一些操作2015-11-11
laravel項目利用twemproxy部署redis集群的完整步驟
Twemproxy是一個代理服務(wù)器,可以通過它減少Memcached或Redis服務(wù)器所打開的連接數(shù)。下面這篇文章主要給大家介紹了關(guān)于laravel項目利用twemproxy部署redis集群的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2018-05-05

