Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,936

HOME > บทความจากสมาชิก > Laravel::Schema การจัดการตารางของ Laravel ด้วย Schema Builder



 
Clound SSD Virtual Server

Laravel::Schema การจัดการตารางของ Laravel ด้วย Schema Builder

Laravel:: การจัดการตารางของ Laravel ด้วย Schema Builder เรามาจัดการตารางในฐานข้อมูล ด้วย สกีมา บิ้วเด้อกันครับ

SCHEMA BUILDER( การจัดการตาราง )

Schema Builder คือ ฟังก์ชันที่ Laravel ใช้จัดการตาราง ไม่ว่าจะเป็นลบอ่านเขียน กำหนดค่าของตารางครับ
เพื่อนๆหลายท่านคงเคยใช้ cms หลายๆตัว ที่ตอนเริ่มแรกเขาให้เราตั้งค่า ฐานข้อมูล ตอนสุดท้ายก็จะโหลดนานหน่อย
แต่การโหลดตอนสุดท้ายนี้แหละครับ คือการสร้างฐานข้อมูลขึ้นมา ถ้าอ่านบทความนี้จบแล้วเพื่อนก็สามารถนำฟังก์ชันเหล่านี้ไปสร้างตัวติดตั้งส่วนตัวใช้ได้เลย

Creating & Dropping Tables(สร้างและลบตาราง) ตัวอย่างการสร้างตารางครับ:

Code (PHP)
Schema::create('users', function($table)
{
    $table->increments('id');
});

ในตัวอย่างเราสร้างตาราง user โดยกำหนดให้คอลัมน์ id เป็น auto increments

ตัวอย่างการลบ:

Code (PHP)
Schema::drop('users');


ลบแบบ remote ไปที่อื่น:

Code (PHP)
Schema::drop('users', 'connection_name');


ตัวอย่างการเชื่อมต่อฐานข้อมูลอื่นๆที่ไม่ได้อยู่บนเครื่องเราครับ.

Code (PHP)
Schema::create('users', function($table)
{
    $table->on('connection');
});



Adding Columns( เพิ่มคอลัมน์ ) ตัวอย่างการเพิ่มคอลัมน์ โดยไม่ต้องห่วงเรื่องชนิดของฐานข้อมูลเลยครับ

Code (PHP)
$table->increments('id');
ตั้ง auto increment ให้ id
$table->string('email');
ให้คอลัม email เป็น  varchar
$table->string('name', 100);
ให้คอลัม name เป็น  varchar มีความยาว 100
$table->integer('votes');
ให้คอลัม votes เป็น  integer
$table->float('amount');
ให้คอลัม amount เป็น  float
$table->decimal('amount', 5, 2);
ให้คอลัม amount เป็น  decimal ที่มีค่าระหว่าง 5 กับ 2
$table->boolean('confirmed');
ให้คอลัม confirmed เป็น  boolean
$table->date('created_at');
ให้คอลัม created_at เป็น  date
$table->timestamp('added_on');
ให้คอลัม added_on เป็น  timestamp
$table->timestamps();
ให้คอลัมน์ created_at กับ updated_at สร้างข้อมูลอัตโนมัติเวลามีการเพิ่มหรือแก้ไขข้อมูล
$table->text('description');
ให้คอลัม description เป็น  text
$table->blob('data');
ให้คอลัม data เป็น  blob
->nullable()
ให้คอลัม สามารถเป็นค่าว่างได้
->default($value)
กำหนดค่าเริ่มต้นให้คอลัมน์
->unsigned()
กำหนดให้ interger กลายเป็น unsign

Note: Laravel's "boolean" เวลาสร้างคอลัมน์จะมีชนิดเป็น tiny int

ตัวอย่างการใช้งานจริง

Code (PHP)
Schema::table('users', function($table)
{
    $table->create();
    $table->increments('id');
    $table->string('username');
    $table->string('email');
    $table->string('phone')->nullable();
    $table->text('about');
    $table->timestamps();
});


Dropping Columns( ลบคอลัมน์ ) ตัวอย่างหารลบคอลัน์:

Code (PHP)
$table->drop_column('name');


ตัวอย่างการลบหลายๆคอลัมน์:

Code (PHP)
$table->drop_column(array('name', 'email'));



Adding Indexes ( สร้าง indexes )

Schema builder สนับสนุนการสร้าง index หลายๆชนิดครับ แต่ละ index ก็คือ method ของ schema:
ตัวอย่างการสร้าง index กำหนดให้เป็น unique ให้คอลัมน์ email :

Code (PHP)
$table->string('email')->unique();// การเพิ่ม index ลงในแถวเดียวเลย


ข้างล่างเป็นการสร้าง index ในแบบแยกแถวครับ

คำสั่ง คำอธิบาย

Code (PHP)
$table->primary('id');


เพิ่มคีย์หลัก

Code (PHP)
$table->primary(array('fname', 'lname'));


เพิ่ม primary key แบบ หลายๆตัว

Code (PHP)
$table->unique('email');


ให้คอลัมน์ emailไม่มีการซ้ำ

Code (PHP)
$table->fulltext('description');


ให้คอลัมน์ description มี index เป็น fulltext

Code (PHP)
$table->index('state');


การสร้าง index แบบเบสิค

Code (PHP)
Dropping Indexes ( การลบ indexes)


การลบ index เราต้องกำหนด ตาราง คอลัมน์ ชนิด ของ index เข้าไปด้วยเหมือนในตัวอย่างครับ:

Code (PHP)
$table->drop_primary('users_id_primary');
$table->drop_unique('users_email_unique');
$table->drop_fulltext('profile_description_fulltext');
$table->drop_index('geo_state_index');



Foreign Keys ( การเพิ่มคีย์เชื่อม ) ตัวอย่างการสร้างคีย์เชื่อม:

Code (PHP)
$table->foreign('user_id')->references('id')->on('users');


จะกำหนดการตอบโต้เวลาโดนแก้ไขหรือลบได้ด้วย ครบครันเลยครับ:

Code (PHP)
$table->foreign('user_id')->references('id')->on('users')->on_delete('restrict');
$table->foreign('user_id')->references('id')->on('users')->on_update('cascade');


ตัวอย่างข้างล่างเป็นการลบคีย์เชื่อมของตาราง posts :

Code (PHP)
$table->drop_foreign('posts_user_id_foreign');


Note: คอลัมน์ที่เป็นคีย์เชื่อม laravel จะทำการ auto increments ให้ในกรณีที่คอลัมน์มีชนิดเป็น unsigned โดยใช้ฟังก์ชัน unsigned() โดยเราต้องสร้างคอลัมน์ที่เป็นคีย์เชื่อมนี้ก่อนการเชื่อม และฐานข้อมูลต้องมีชนิดเป็น InnoDB

Code (PHP)
$table->engine = 'InnoDB';
$table->integer('user_id')->unsigned();


บทหน้าจะมาต่อในเรื่อง Cookies กับ Session ครับ







   
Share
Bookmark.   

  By : taqman
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2013-05-20
  Download : No files
Sponsored Links
วิธีการ Convert String ไปเป็น Date Time ของ SQL Server ในรูปแบบต่างๆ
วิธีการ Convert String ไปเป็น Date Time ของ SQL Server ในรูปแบบต่างๆ
Execute the following T-SQL scripts in Microsoft SQL Server Management Studio (SSMS) Query Editor to demonstrate T-SQL CONVERT and CAST functions in transforming string SQL date formats, string time & string datetime data to datetime data type. Practical examples for T-SQL DATE / DATETIME functions.
Rating : Update : 2018-08-10 13:01:19
PHP ใช้สำหรับเปลี่ยนรูปแบบของวันตามที่เรากำหนด เช่น 2018-3-10 -> 10 Mar 2018 หรือ 10 March 2
PHP ใช้สำหรับเปลี่ยนรูปแบบของวันตามที่เรากำหนด เช่น 2018-3-10 -> 10 Mar 2018 หรือ 10 March 2
ฟังก์ชั่นนี้ใช้สำหรับเปลี่ยนรูปแบบของวันตามที่เรากำหนด เช่น 2018-3-10 -> 10 Mar 2018 หรือ 10 March 2018
Rating : Update : 2018-03-11 10:49:35
Meta Tags in 2019
Meta Tags in 2019
กล่าวโดยย่อ Meta เป็นสิ่งสำคัญสำหรับเครื่องมือค้นหาทั้งหมดที่ปรากฏในโค้ด HTML ของหน้าเว็บไซต์และบอกเครื่องมือค้นหาว่าหน้าเว็บนั้นเกี่ยวกับอะไร
Rating : Update : 2019-11-15 09:26:11
(C#) ASP.NET SQL Server Connect to Database แบบ Windows Authentication
(C#) ASP.NET SQL Server Connect to Database แบบ Windows Authentication
บทความเรื่อง (C#) ASP.NET SQL Server Connect to Database ด้วยการติดต่อ ASP.NET กับ SQL Server ในรูปแบบ Windows Authentication ครับ
Rating : Update : 2019-05-10 10:00:28
C# Extension Methods แบบ บ้านๆ
C# Extension Methods แบบ บ้านๆ
ทุกคนทีเขียนโปรแกรม ก็มักจะเจอว่าเวลาเราเรียกใช้ตัวแปร ต่างๆ แล้วพิมพ์ จุดแล้วมักจะเจอว่ามี method หรือ function ขึ้นมาให้เลือกแบบนี้
Rating : Update : 2019-04-29 15:01:47
วิธีการ Redirect จาก HTTP ไปเป็น HTTPS แบบง่ายๆ ด้วย .htaccess
วิธีการ Redirect จาก HTTP ไปเป็น HTTPS แบบง่ายๆ ด้วย .htaccess
หลังจากที่เราได้ติดตั้ง SSL และกำตั้งค่าเว็บจาก HTTP เป็น HTTPS แล้ว ขั้นตอนถัดไปคือการตั้งให้ Redirect ไปยัง URL ที่เป็น HTTPS อัตโนมัติ
Rating : Update : 2018-09-14 17:29:25
รู้จักกับ Common Table Expressions หรือ CTE ใน SQL Server
รู้จักกับ Common Table Expressions หรือ CTE ใน SQL Server
CTEs ถือเป็นนิพจน์ตาราง (Table Expression) แบบหนึ่งนิพจน์ตาราง คือ นิพจน์ที่ทำหน้าที่เสมือนตารางได้ สังเกตว่าอะไรที่สามารถประกาศได้ในประโยค FROM ของคำสั่ง SELECT ได้นั่นก็คือ นิพจน์ตาราง ซึ่งมีทั้งที่สามารถจัดเก็บลงในฐานข้อมูลได้ และจัดเก็บไม่ได้นิพจน์ตารางที่จัดเก็บเป็น Object ลงในฐานข้อมูล
Rating : Update : 2019-03-18 14:02:02
ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


สุดยอด Source Code V2.0
 

แจ้งชำระเงิน/โอนเงิน
 

Hit Link
   







Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่