Page 45 - Laravel5_v1
P. 45

้
          การสราง Mutators


                                                               ้
                                  ้
                  ็
          Mutators กคือ setter นั นเอง คลายกันกับ Accessors คือ เราสามารถสราง attribute ที ไม่ใช่ attribute ในฐานขอมูลได โดยเมธอดที สราง
                                                                                                             ้
                                                                                            ้
                                                                                                  ้
                  ็
                       ั
                                                   ้
                                     ้
                                   ์
          ขึ นนั นจะเปนการรบค่าพารามิเตอรเขามาเพื อ set ค่าใหกับ attribute ของ Models
             ํ
                                                 ้
          ้
                                                                 ้
                                                                     ้
                                ื
          ขอกาหนดของ Mutators คือ ชอเมธอดจะตองขึ นตนดวยคําว่า set และลงทายดวยคําว่า Attribute ดังตัวอย่าง
                                          ้
                                               ้

          class User extends Model {
                 public function setPasswordAttribute($password)
                 {
                   return $this->attributes['password'] = Hash::make($password);
                 }
          }
          เวลาเขาถึงหรอเรยกใชงาน Mutators กใหตัด set และ Attribute ออกไปเหลือแค่ password (ตัวพิมพเล็ก) เช่น
                                                                                     ์
                          ้
                                        ้
                                       ็
                      ี
                    ื
               ้

          $user->password = '123456';


          การกําหนด Eloquent relations

                                                                                               ู
                                                                              ี
                                                                         ้
                                                                 ้
                                                                                              ่
                                            ็
                                                                                         ์
                            ์
          การกําหนดความสัมพันธของ Eloquent นั นเปนการกําหนดว่ามีตารางใดบางในฐานขอมูลทมีความสัมพันธกันอยู รปแบบของ
                      ื
          ความสัมพันธหรอ relations ที ใชบ่อยๆ มีดังต่อไปนี
                    ์
                                  ้
                      One To One     ความสัมพันธแบบหนึ งต่อหนึ ง
                                                ์
                                                ์
                      One To Many    ความสัมพันธแบบหนึ งต่อกลุม หรอเรยกว่า Belongs To Relation กได  ้
                                                                                         ็
                                                                  ี
                                                            ่
                                                                ื
                                                ์
                                                      ่
                                                            ่
                      Many To Many  ความสัมพันธแบบกลุมต่อกลุม

                                                                                                          ้
                                                               ์
                                                                                                           ี
                                ้
          การกําหนด Relation เราจะสรางเมธอดเพิ มที  Models ที มีความสัมพันธกัน เช่น หากตารางใดมีความสัมพันธแบบหนึ งต่อหนึ งกใหเรยกใช ้
                                                                                           ์
                                                                                                        ็
                                                                                                            ็
                                                                 ้
                                                                                                           ์
          เมธอด hasOne() และอีกตารางที เชอมไปกใหกําหนดเปน belongsTo() พรอมทั งระบุ FK ที ใชดวย เช่นเดียวกันหากมีความสัมพันธเปน
                                                                               ้
                                                                                ้
                                            ้
                                          ็
                                                   ็
                                    ื
                                                                               ื
          แบบ One To Many จะกําหนดเปน hasMany() และตารางที เชอมกันกจะใช belongsTo() หรอเราเรยก belongsTo() อีกอย่างหนึ งว่า การ
                                                                                    ี
                                                        ื
                                                              ็
                                                                  ้
                                   ็
          inverse ความสัมพันธกได ส่วนความสัมพันธแบบ Many To Many ใหกาหนดเปน belongsToMany() ทั งสองฝงครบ
                                                                                            ั
                                                               ํ
                           ็
                                                                                               ั
                                           ์
                                                                     ็
                          ์
                             ้
                                                              ้

                                                                                                      ้
                                          ์
          ในหนังสือเล่มนี จะยกตัวอย่างความสัมพันธที ใชบ่อยที สุดไดแก่ One To Many นั นเอง (ความสัมพันธแบบ One To One ดูไดจากวิดีโอใน
                                             ้
                                                      ้
                                                                                    ์
                 ื
          บทที  7 เรองการทํา User Profiles)
   40   41   42   43   44   45   46   47   48   49   50