2015年1月23日

Laravel 學習筆記(21) - 分頁 (Pagination)


Laravel - Pagination

在 Laravel 中要實作分頁只要兩行!!

在 HomeController@index 中,原本的
$posts = Post::all();
是取得全部的資料,現在我們設定為一頁只顯示 3 筆,所以改成:
$posts = Post::paginate(3);
完成。

2015年1月22日

Laravel 學習筆記(20) - 多國語言 (Localication)


Laravel - Localization

Laravel 提供 Lang 類別讓你方便取用不同語言的字串。檔案存放在 app/lang 目錄下,在依不同語言各自建立目錄。

例如:
app/lang/en
app/lang/tw
app/lang/jp
app/lang/fr
語言目錄名稱可自訂。目錄中可放置多個 php 檔,每個 php 內都是做回傳一個陣列的動作。

2015年1月21日

Laravel 學習筆記(19) - 登入驗證 (Authentication)


Laravel - Authentication

設定

Laravel 已經實作了登入機制,所以我們可以很快速的建立登入功能。驗證設定檔在 app/config/auth.php,而預設在 app/models 已經建立了一個 User.php 的 Model。在 auth.php 中的設定是 model 名稱為 'User',table 名稱為 'users',可以改成自己想要的。

!重要,在建立 users 資料表時,必須建立一個 remember_token 的字串欄位,長度 100、nullable。這個欄位是用來儲存 session 的 token。在 migrations 檔中可以使用:
$table->rememberToken();
來建立。

2015年1月20日

Laravel 學習筆記(18) - 資料庫之 Migrations & Seeding


Laravel - Migrations & Seeding

建立 Migrations

Laravel 官網上的說明,Migrations 是一種資料庫版本控制的型式。它可以讓開發團隊在修改資料庫綱要(schema)時仍保持最新的狀態。Migrations 通常會使用 Schema Builder 來管理。

在終端機中,進入網站目錄,輸入指令:
php artisan migrate:make create_users_table
會產生類似
app/database/migrations/2014_12_11_081527_create_posts_table.php
這樣的檔案。前面會加上日期及時間戳記,時間戳記在每次執行指令時都會不同。也就是說,之後在執行 migrate 動作時,它是會依序執行的。如果你有要調動執行的順序,只要改前面的日期,或時間戳記,就能改變被執行的順序。

2015年1月19日

Laravel 學習筆記(17) - 資料庫之 Schema Builder


Schema Builder

Laravel 提供 Schema 類別來維護資料表。通常會寫在 migration 檔,用來快速建立資料表。

建立資料表

Schema::create('posts', function($table){
    $table->increments('id');
    $table->string('title');
    $table->string('content');
    $table->timestamps();
});
等效 SQL:
CREATE TABLE `posts` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `title` varchar(255) NOT NULL DEFAULT '',
    `content` varchar(255)  NOT NULL DEFAULT '',
    `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
    `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
    PRIMARY KEY (`id`)
)