ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

จากบทความ

เริ่มใช้ Yii Framework สอนการใช้งาน Yii Framework

ตอนนี้มาดูอีกส่วนหนึ่ง ของ Yii Framework ที่ทำให้เราจัดการกับฐานข้อมูลได้ ไม่ว่าจะเป็น insert update delete search ข้อมูล ได้สะดวกและรวดเร็วขึ้น
สำหรับ Library อื่นๆ ที่มี AR ให้ใช้ เช่น

ADODB เขียน php เพื่อใช้งาน กับ database ทุกตัว

เมื่อเทียบกับ การเขียน php ติดต่อฐานข้อมูลด้วย function ของ php เอง 

เปรียบเทียบ PHP function ของ Mysql กับ ADOdb การแบ่งหน้า

ท่านจะเห็นว่าการเขียนโดยใช้ lib จะช่วยประหยัดเวลาในการเขียน โค้ดได้เยอะพอสมควร
ตอนนี้ มาเข้าเรื่อง  Active Record กันดีกว่าครับ Active Record เป็นส่วนหนึ่งของ Yii Framework Active Record เป็น ORM (Object-Relational Mapping)
มาดูตัวอย่างการใช้ AR ในการเพิ่มข้อมูล ลงในตารางกันกัน
เช่น ผมมี ตาราง tbl_post

CREATE TABLE tbl_post (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
title VARCHAR(128) NOT NULL,
content TEXT NOT NULL,
create_time INTEGER NOT NULL
);

โค้ดในการเพิ่มข้อมูลของตารางนี้โดยใช้ AR

$post=new Post;
$post->title='sample post';
$post->content='post body content';
$post->save();

อธิบาย โครงสร้างตารางนี้ จะมี field เป็น id เป็น AUTOINCREMENT
ตามโค้ด เราสร้าง object ชื่อ $post ขึ้นมา แล้วกำหนด attribute ให้กับ object และ เรียกใช้งาน method save
AR ก็จะเก็บข้อมูลของเราลงตารางให้เราเอง

ฐานข้อมูลที่สามารถใช้ AR ได้

ศึกษาข้อมูลเพิ่มเติมได้ที่
http://www.yiiframework.com/doc/guide/1.1/en/database.ar

 
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Work's on Hand ปาริชาติ รัตโณภาส MT21
โดย Parichat จ 08 ม.ค. 2018 12:11 pm บอร์ด MT21 - ปาริชาติ รัตโณภาส
2
43
พ 17 ม.ค. 2018 10:51 am โดย Parichat
งานประจำวันที่ 17 มกราคม 2561
โดย Parichat พ 17 ม.ค. 2018 9:47 am บอร์ด MT21 - ปาริชาติ รัตโณภาส
2
15
พ 17 ม.ค. 2018 10:51 am โดย AePongsak
ไอเดียในการออกแบบ iphone8
โดย Before Dong พ 17 ม.ค. 2018 10:29 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
8
พ 17 ม.ค. 2018 10:29 am โดย Before Dong
งานประจำวันที่ 17 มกราคม 2561
โดย Jom07 พ 17 ม.ค. 2018 9:57 am บอร์ด MT23 - สุพรรษา พูลตา
1
8
พ 17 ม.ค. 2018 10:44 am โดย Jom07
งานประจำวันที่ 17 มกราคม 2561
โดย Four พ 17 ม.ค. 2018 9:56 am บอร์ด MT22 - อิษยา งามสอาด
1
6
พ 17 ม.ค. 2018 10:36 am โดย AePongsak
เจอปัญหานี้บ่อย สำหรับ app ที่อยู่บน pgsql เยอะๆ psql: FATAL: too many connections for role "user_name".
โดย mindphp พ 17 ม.ค. 2018 4:50 am บอร์ด PostgreSQL
1
7
พ 17 ม.ค. 2018 4:51 am โดย mindphp
Thin Client คืออะไร
โดย Jom07 อ 16 ม.ค. 2018 2:38 pm บอร์ด Software testing
0
14
อ 16 ม.ค. 2018 2:38 pm โดย Jom07
วิธีนอน 8 ชั่วโมง ใน 4 ชั่วโมง
โดย Before Dong อ 16 ม.ค. 2018 10:21 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
37
อ 16 ม.ค. 2018 10:21 am โดย Before Dong
งานประจำวันที่ 16 มกราคม 2561
โดย Four อ 16 ม.ค. 2018 9:46 am บอร์ด MT22 - อิษยา งามสอาด
2
38
อ 16 ม.ค. 2018 3:39 pm โดย Four
งานประจำวันที่ 16 มกราคม 2561
โดย Jom07 อ 16 ม.ค. 2018 9:44 am บอร์ด MT23 - สุพรรษา พูลตา
2
33
อ 16 ม.ค. 2018 2:21 pm โดย Jom07
งานประจำวันที่ 16 มกราคม 2561
โดย Parichat อ 16 ม.ค. 2018 9:40 am บอร์ด MT21 - ปาริชาติ รัตโณภาส
2
19
อ 16 ม.ค. 2018 7:12 pm โดย Parichat
เบอร์โทร ศูนย์บริการ ASUS ศูนย์บริการลูกค้าสัมพันธ์ (Call Center) ถามอะไหล่ ค่าบริการงานซ่อมได้
โดย mindphp อ 16 ม.ค. 2018 6:53 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
14
อ 16 ม.ค. 2018 6:53 am โดย mindphp
ตามหา พัดลมโน๊ตบุ๊ค ASUS รุ่น Pro36S ของ dc brushless
โดย mindphp อ 16 ม.ค. 2018 6:29 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
7
อ 16 ม.ค. 2018 6:29 am โดย mindphp
จะโหลด Android Studio กับ javaJDK ได้ที่ไหนค่ะ
โดย Anonymous จ 15 ม.ค. 2018 8:29 pm บอร์ด Mobile Programming - Android, iOS, Window Phone
1
22
จ 15 ม.ค. 2018 9:25 pm โดย thatsawan
การใช้งานคำสั่ง inner join ใน SQL(เอสคิวเเอล)
โดย Parichat จ 15 ม.ค. 2018 5:50 pm บอร์ด SQL Knowledge
0
18
จ 15 ม.ค. 2018 5:50 pm โดย Parichat
ประเภทของ Firewall (ไฟร์วอลล์)
โดย Jom07 จ 15 ม.ค. 2018 5:42 pm บอร์ด Software testing
0
18
จ 15 ม.ค. 2018 5:42 pm โดย Jom07
เทคนิคการโอนย้ายข้อมูล 2 คอมพิวเตอร์
โดย Jom07 จ 15 ม.ค. 2018 5:41 pm บอร์ด Software testing
0
19
จ 15 ม.ค. 2018 5:41 pm โดย Jom07
Android Studio ไม่อนุญาตให้กรอกข้อมูลใน EditText
โดย Four จ 15 ม.ค. 2018 4:53 pm บอร์ด Mobile Application Developing- Android, iOS
0
12
จ 15 ม.ค. 2018 4:53 pm โดย Four
Android Studio การกำหนดขนาดข้อความใน TextView
โดย Four จ 15 ม.ค. 2018 2:50 pm บอร์ด Mobile Application Developing- Android, iOS
0
13
จ 15 ม.ค. 2018 2:50 pm โดย Four
สวิตซ์ (Switch) คืออะไร
โดย Jom07 จ 15 ม.ค. 2018 1:35 pm บอร์ด IOT - Internet of things
0
22
จ 15 ม.ค. 2018 1:35 pm โดย Jom07