วันอาทิตย์ที่ 17 สิงหาคม พ.ศ. 2557

Laravel : การใช้งาน Validation

การใช้งาน Validation เพื่อตรวจสอบข้อมูลก่อนที่จะ insert ลง database ว่าถูกต้องตามที่ต้องการหรือไม่ และป้องกันการผิดพลาดของข้อมูล ซึ่ง Laravel มี Input Validation ที่คอยช่วยให้เขียน code ได้ง่ายขึ้น จะต้องแก้ไข ส่วนของ Model, Controller และ View แต่ขอยกตัวอย่าง การเขียน code Input Validation ใน model ตามนี้
public static function validate($input)
{
$rules = array(
'input_mems_email'=>'Required|email|unique:mems,mems_email|Between:3,100',
'input_mems_fname'=>'Required|Between:1,200',
'input_mems_lname'=>'Required|Between:1,200',
'input_mems_passwd'=>'Required|AlphaNum|Min:4|Confirmed',
'input_mems_passwd_confirmation'=>'Required|AlphaNum|Min:4'
);
  return Validator::make($input,$rules);
}

สามารถอ่านการใช้งานเพิ่มเติมได้ที่
http://laravelbook.com/laravel-input-validation/
http://daylerees.com/codebright/validation

Laravel : การแสดงข้อมูล id ล่าสุด ที่เป็น primary key ของ table มาใช้งาน

หลังจากที่ save หรือ สร้าง ข้อมูลใน table และมีการใช้งาน auto-incrementing IDs แล้ว เราสามารถแสดงข้อมูล ID ที่เราได้ insert ไปล่าสุด ได้โดย เพิ่ม code ใน Controller ดังนี้

$insertedId = $user->id;

Laravel : การ insert date field ลง table

หากต้องการ insert date field ตาม format date ที่ต้องการ ลง  table ที่มี data type เป็น date time หรือ timestamp สามารถทำได้ดังนี้

public function postRegister()
{
$mem = new  Mem;
$mem->mems_username = Input::get('mems_email');
$mem->mems_email = Input::get('mems_email');
$mem->mems_passwd = Hash::make(Input::get('mems_passwd'));
$mem->mems_fname = Input::get('mems_fname');
$mem->mems_lname = Input::get('mems_lname');
$mem->mems_created_by = '1';
$mem->mems_created_at = date("Y-m-d H:i:s");
$mem->mems_updated_by = '1';
$mem->mems_updated_at = date("Y-m-d H:i:s");
$mem->save();
return Redirect::route('account.getRegister');
}


Laravel : วิธี remove the updated_at and created_at columns from the table

ปกติ แล้ว Eloquent ORM ของ  Laravel จะสร้าง field updated_at และ created_at ให้กับ table ผ่าน Model โดยอัตโนมัติ ซึ่งบางครั้งการออกแบบ table ต้องการเปลี่ยนชื่อ field ซึ่งมีวิธีที่สามารถเอา field updated_at และ created_at ออกจาก Table โดย

// app/models/User.php
class User extends Eloquent
{
    public $timestamps = false;
}

ที่มา
http://daylerees.com/codebright/eloquent

วันอังคารที่ 12 สิงหาคม พ.ศ. 2557

Laravel : การสร้าง database บน mysql ผ่าน laravel migrations

เมื่อต้องการสร้าง database บน mysql ผ่าน laravel migrations จะต้องสร้างไฟล์ที่มีคำสั่งสร้าง table ไว้ใน folder /database/migrations/ เช่น ไฟล์ชื่อ 2014_08_12_223400_create_mems_table.php

โดยสามารถ run ด้วยคำสั่ง จะเป็นการ run การทำ  migrations ทุกไฟล์ เช่น
$ php artisan migrate

หรือ หากมีการเปลี่ยนแปลง บางไฟล์ ให้ใช้ คำสั่ง migrate:make เช่น
$ php artisan migrate:make 2014_08_12_223400_create_mems_table.php








อ่านข้อมูลเพิ่มเติมได้ที่ http://laravel.com/docs/migrations และ http://laravelbook.com/laravel-migrations-managing-databases/

Laravel : การ Setting Environment Configuration

บทความแนะนำในการตั้งค่า Environment ของ Laravel ซึ่งสามารถทำให้ Laravel ตั้งค่า Environment ได้หลายแบบ เช่น development, staging, production เป็นต้น เพื่อให้สามารถประยุกต์ใช้งานในสถานการณ์ที่แตกต่างกัน โดย default แล้ว Laravel จะมี Environment เป็น production หากต้องการเปลี่ยนแปลงสามารถดูได้ตาม link


หรืออ่าน doc ของ Laravel

วันอาทิตย์ที่ 10 สิงหาคม พ.ศ. 2557

Laravel php framework ที่น่าสนใจ

หลังจากที่หา php Laravel php framework มาใช้งานในบริษัท  ไปเจอข้อมูลจากเว็บไซต์ sitepoint.com
และอ่าน blog review ของไทยหลายเห่ง จึงเลือก Laravel เพื่อศึกษาและลองเปลี่ยนการพัฒนา php ไปสู่ framework อย่างเต็มรูปแบบ

บทความที่สอน Laravel แบบพื้นฐาน
จาก thaicreate.com สอน Laravel แบบพื้นฐาน

จาก http://laraveltut.com/ สอน Laravel แบบพื้นฐาน ถึงปานกลาง
สอน Laravel  ด้วยวีดีโอ แบบเจาะลึก

ที่มา

การเพิ่มไฟล์ pdf เข้าไปในหน้า pdf ที่สร้างด้วย fpdf


การเพิ่มไฟล์ pdf เข้าไปในหน้า pdf ที่สร้างด้วย fpdf หาข้อมูลในเว็บไซต์ เจอ fpdi เป็นตัวช่วยในการแก้ปัญหาได้ ตัวอย่างตาม link

http://www.setasign.com/products/fpdi/about/
http://stackoverflow.com/questions/12510117/using-fpdf-to-modify-existing-pdf-in-php
http://stackoverflow.com/questions/10721497/edit-existing-pdf-multiple-page-file-using-fpdf-pdfi
http://programmingbulls.com/manipulating-pdf-files-php-using-fpdf