>> ดังนั้นด้วยที่ถูกกล่าวว่า
เพียงแค่การจัดเรียงของที่เรียบง่าย แนะนำให้รู้จักกับต้นแบบ
และรูปแบบวัตถุ JavaScript
เราจะไม่เปลี่ยน เกียร์นิด ๆ หน่อย ๆ ที่จะพูดคุย
JavaScript เกี่ยวกับการเพิ่มเติมเกี่ยวกับ เซิร์ฟเวอร์และห้องสมุดชั้นหนังสือ
และการเชื่อมต่อ KNEX ห้องสมุด
ดังนั้นคุณสามารถจริงเพียง -
หากคุณค้นหา Bookshelf.js มันควรจะง่ายสวย
ที่จะหาที่ควรจะเป็นครั้งแรกที่ ผลและชั้นวางหนังสือ
ขณะที่เดวิดกล่าวเพียง ให้มากของโครงสร้าง
รอบวัตถุ JavaScript และ ทำงานกับพวกเขา relationally
ในฐานข้อมูลเชิงสัมพันธ์
ดังนั้นจำนวนมากที่มีคุณสมบัติคล้ายกัน ที่จริงแรงบันดาลใจอย่างมาก
โดยออม Laravel เป็น ทั้ง Backbone.js,
ซึ่งเป็นปลายด้านหน้า MVC ห้องสมุดที่ช่วยให้คุณ
โครงสร้างรหัสของคุณ คล้ายกับสิ่งที่ฉันได้แสดง
มีตัวอย่างของ ต้นแบบที่คุณสามารถ -
แทนเพียงพล ขว้างปาชั้นเรียน
ในมุมมองของคุณที่นี่และมี
มันช่วยให้คุณมีรูปแบบและ คอลเลกชันของโมเดลเหล่านั้น
ที่ควรจะทำหน้าที่เป็น การเรียงลำดับของจุดเดียวของความจริง
เกี่ยวกับข้อมูลสำหรับ ใบสมัครของคุณ
แล้วคุณฟังในขณะที่ผู้ที่ การเปลี่ยนแปลงรูปแบบที่คุณบอกว่าโอเค
อีกครั้งทำให้แม่แบบนี้ ที่นี่และหนึ่งในนี้ที่นี่
และไม่เพียง แต่เพิ่มระดับที่นี่ เพิ่มระดับและมีการเรียงลำดับของการเลือก
ในตัวเลือกและทำให้ ใยแมงมุมของรหัส jQuery
มันให้มากขึ้นของระดับตาม โครงสร้างแต่ละชิ้น
แต่องค์ประกอบที่สำคัญของ ห้องสมุดที่มีรูปแบบ
ซึ่งมีโครงสร้างที่คล้ายกัน กับสิ่งที่รูปแบบการทำชั้นวางหนังสือ
ดังนั้นถ้าคุณคุ้นเคยกับ ชั้นวางหนังสือคุณสวยยัง
สวยคุ้นเคยกับ Backbone.js รุ่น
และผมอยากจะแนะนำ การดูที่นี้
ดังนั้นบางส่วนของคุณสมบัติที่สำคัญ
ว่ามันจะช่วยให้คุณเป็นเพียง ความสามารถในการกำหนดข้อมูลเกี่ยวกับวัตถุ
ที่จะเรียกเรียกซึ่ง ผลตอบแทนที่ได้บันทึกเป็นรายบุคคล
จากฐานข้อมูลที่สร้าง ความสัมพันธ์ที่คล้ายกัน
กับสิ่งที่คุณได้กระทำ ภายใน Laravel
ที่คุณสามารถพูดได้ ผู้ป่วยที่กำหนดวิธีการบันทึก
และพูดนี้ได้รับการบันทึก
วัตถุที่บันทึกเป็น ชื่อตารางบันทึกสุขภาพ
ลองมาดูกัน
มีหลาย - มันเป็น -
สิ่งเดียวที่คุณ สวยเหมือนกัน -
สวยคุ้นเคยกับ แล้ว แต่ใน JavaScript
และอยู่ภายใต้ประทุน เพื่อ Bookshelf,
จะใช้สร้างแบบสอบถาม เรียกว่า Knex.js.
ดังนั้นที่ KNEX, knexjs.org
มันอ้างอิงถึงของเล่นถ้า ทุกคนที่เคยเล่นด้วย
แต่มันช่วยให้คุณ - ใน แฟชั่นที่คล้ายกันที่จะ jQuery,
คุณเพียงแค่การเรียงลำดับของการสร้าง ห่วงโซ่ของวิธีการที่แตกต่างกัน
ว่าคุณกำลังเรียกร้องให้คุณ แถวฐานข้อมูลเพื่อให้คุณสามารถ -
คุณเริ่มต้นออกโดยบอกว่า knex และชื่อตาราง
ดังนั้นผู้ใช้เช่น KNEX, เลือกคอลัมน์ที่คุณต้องการ
ที่ไหนและมีที่แตกต่างกัน เงื่อนไขและคุณสามารถมี
และที่หรือที่ ที่ระหว่างที่ไม่ได้
คุณตอนนี้ลงบรรทัด
คุณสามารถระบุที่แตกต่างกันร่วม ระหว่างตารางฐานข้อมูลของคุณ
ซึ่ง Bookshelf ใช้ภายใน การตั้งค่าการจัดเรียงของมายากล
รอบ hasOne, hasMany, belongsTo, belongsToMany
และอื่น ๆ รวมกัน
ของทั้งสองช่วยให้คุณสามารถทำสวย มากสิ่งที่คุณต้องการจะใช้
ในกรอบเช่น Laravel ในแง่
ของการทำงาน ทำงานกับฐานข้อมูล
ดังนั้นขอไปข้างหน้าและใช้เวลา ดูตัวอย่างง่ายๆ
สำหรับแอพพลิเคด่วนที่ ทำให้การใช้รูปแบบเหล่านี้
และคอลเลกชันของ ชั้นวางหนังสือแจ๊ส [ออกเสียง]
ดังนั้นฉันได้ตั้งค่าเพียงแค่ โปรแกรมง่ายๆที่นี่
ผมถอดออกบางส่วนของสิ่งที่ ที่ได้รับการเริ่มต้นด่วน
และย้ายที่เป็น init ไดเรกทอรีที่ฉันสร้างขึ้น
หนึ่งในสิ่งที่ดีเกี่ยวกับ การทำงานร่วมกับด่วนที่ควร
การ Laravel เป็นว่ามี มันไม่บังคับใช้มาก
กับคุณ conventionalized
เพื่อให้คุณสามารถสร้างไดเรกทอรี -
มันไม่ได้จริงๆให้คุณ เป็นจำนวนมากทั้งในการทำงานออกจาก
คุณได้มีเพียงแค่การจัดเรียงของบางอย่าง การตั้งค่าพื้นฐานแล้ว -
แต่มันก็ไม่ได้ดูแล ที่คุณใส่พวกเขา
คุณไม่จำเป็นต้องมี ไดเรกทอรีของตัวควบคุม
คุณไม่จำเป็นต้องมีรูปแบบ ไดเรกทอรีไดเรกทอรีการตั้งค่า
คุณเรียงลำดับของสามารถสร้าง ที่เป็นความต้องการของโครงการของคุณ
และกำหนดสิ่งที่ขึ้นทาง ที่ทำให้ความรู้สึกมากที่สุดเพื่อคุณ
ดังนั้นแทนที่จะมีทั้งหมด สำเร็จรูปด่วนนี้
ใน app.js หลักที่ฉันเพียงแค่กล่าวว่า เท่ากับแอพพลิเคต้อง init / ด่วน
และอื่น ๆ ใน init,
โฟลเดอร์เริ่มต้น ฉันเพิ่งได้แสดงที่นี่
และนี้ต้องใช้ด่วนโทร ฟังก์ชั่นการตั้งค่าโทร -
ตั้งค่าเครื่องมือมุมมอง JSON แยกวิเคราะห์ทั้งหมดที่
ดังนั้นตอนนี้ให้ดำเนินการต่อไปลง
ดังนั้นฉันต้อง การประชุมผู้สอน
และความต้องการรูปแบบ
ดังนั้นเหล่านี้อยู่ในโฟลเดอร์ที่ ผมก็ตัดสินใจที่จะตั้งชื่อรุ่น
มันไม่จำเป็นที่จะเป็นไปได้ว่า แต่วิธีที่จะทำให้ความรู้สึก
แต่รูปแบบที่สวยเพียง ร่วมกันดังนั้นฉันอยากจะแนะนำ
แต่ - ดังนั้นขอไป สำหรับหลักสูตรที่
ฉันคิดว่าฉันใช้ - ใช่และตัวอย่าง
ลงที่นี่จะขึ้นอยู่ทั้งหมด รอบรูปแบบการเรียนการสอน
จึงขอใช้เวลาเพียงแค่ ดูที่ว่า
ดังนั้นตอนนี้เพียงแค่ของ บรรทัดแรกของรุ่นนี้
ฉันจำเป็นต้องใช้อยู่แล้ว อย่างอื่น
ดังนั้นถ้าคุณจะแจ้งให้ทราบในโหนด คุณควรจะต้อง
หรือคุณกำลังจะจบลง ต้องมีทั้งกลุ่ม
ไฟล์ที่แตกต่างกันของ ที่ตั้งอยู่
ในสถานที่ที่แตกต่างกัน ในใบสมัครของคุณ
และทางญาติ ไปทุกที่ที่คุณอยู่
ในการประยุกต์ใช้ในปัจจุบันของคุณ
ยกเว้นว่าจะเป็นระดับบนสุดแล้ว ที่กำหนดไว้ในขณะที่คุณติดตั้ง
ด้วย MPM เช่นชั้นวางหนังสือหรือ knex หรือด่วนหรือสิ่งที่
ผู้ที่ไม่ได้เป็นญาติ
ใช่? ขยายอีกหรือไม่
ตกลง ตกลง ดังนั้นคุณกำลังจะ สิ้นสุดที่ต้องการทั้งกลุ่ม
ไฟล์ที่แตกต่างกันเพียง แต่ในของคุณ รหัสซึ่งเป็นสิ่งที่ดีและไม่ดี
ในทางที่ดีคุณทราบว่า สิ่งที่เป็นและยังไม่ได้เรียงลำดับ
เวทมนตร์เป็นสิ่งที่เป็น ที่เกิดขึ้นภายใต้ประทุน
ซึ่งจริงๆสามารถทำให้เกิดความสับสน
เมื่อคุณมีมาก Java หนัก -
หรือกรอบการทำงานหนักมากเช่น Laravel ซึ่งเรียงลำดับของการกล่าวว่า
เราจะดูแล นี้เพื่อให้คุณไม่ได้
ที่จะต้องทุกอย่าง แต่คุณต้อง
ที่จะรู้ว่าทุกอย่าง ทำงานเพื่อที่จะใช้มัน
ที่เป็นในกรณีนี้มันเป็น ตรงไปตรงมามากที่สุดเท่าที่จะ
ที่ทุกอย่างเป็น พวกเขากำลังจะสิ้นสุดลงเพียงแค่
ขึ้นเป็นพิมพ์เพิ่มอีกนิด
เช่นเดียวกับในด้านที่ผมชอบ การใช้งานที่มีปลั๊กอิน
ถ้าคุณใช้ข้อความตาบอด
ที่คุณสามารถติดถนนโหนด โมดูลผู้ช่วยและคุณสามารถเริ่มต้น
พิมพ์เช่นสอนและ มันจะสร้างเส้นทางญาติ
ไปที่ที่คุณอยู่กับที่ แฟ้มรหัสชนิดของที่มีประโยชน์
ดังนั้นรูปแบบการเรียนการสอน เป็นที่ต้องการฐานที่นี่
แล้วฝึกงานฐาน ต้อง init / ชั้นวางหนังสือ
แล้วชั้นหนังสือก็ ต้อง Bookshelf ระดับบนสุด
และจากนั้นเริ่มต้นด้วย KNEX เช่นเริ่มต้น
ซึ่งกำหนดชื่อลูกค้า
และการเชื่อมต่อ การตั้งค่าสำหรับฐานข้อมูล
ดังนั้นฉันเพียงแค่ใช้ง่าย ตัวอย่างของผลสืบเนื่องที่ Pro -
MySQL ของฉันเข้ากับ ผลสืบเนื่อง Pro และก็มีเพียงแค่การจัดเรียง
ของฐานข้อมูลที่คล้ายกัน การตั้งค่าในขณะที่เรามี
ในโปรแกรมตัวอย่างแรก แคตตาล็อกที่มีการเรียนการสอน
ดังนั้นฉันจะตั้งค่าการเชื่อมต่อของฉัน การตั้งค่าที่นี่
และสิ่งเหล่านี้มีเอกสารทั้งหมด บนหน้าโครงการ Knex.js
เป็นวิธีการติดตั้ง เชื่อมต่อเหล่านี้
ดังนั้นตอนนี้ผมมีรูปแบบฐานของฉัน
และที่ผมกล่าวถึงด้วย การเปลี่ยนแปลงต้นแบบ
เพื่อให้สามารถจริง เป็นชนิดของจำนวนมากที่จะ -
เพิ่มมากสำเร็จรูป รหัสของคุณเพื่อให้การประชุม
ที่ได้รับการดัดแปลง โดย Backbone.js
และตอนนี้เป็น Bookshelf.js เพื่อเพิ่มนี้ขยายวิธี
เป็นสถานที่ให้บริการคงที่ วัตถุจาวาสคริปต์ของคุณ
ซึ่งจะทำให้มันเรียงลำดับของเกือบ ธรรมชาติมรดกระดับตาม
ซึ่งถ้าคุณโทร ขยายคุณสามารถตั้งค่าใด ๆ
วิธีการต้นแบบ ที่คุณต้องการที่นี่
และจากนั้นคุณสามารถ - ใด ๆ วิธีการแบบคงที่พิเศษ
ที่คุณอาจต้องการคุณ ก็สามารถตั้งค่าให้ตัวเอง
ออกจากที่นี่เพื่อให้สามารถขยายได้ ด้วย - ดังนั้นถ้ายกตัวอย่างเช่น
หลายรูปแบบที่ต้องการ ชื่อที่ปรากฏชื่อและได้รับนี้
ดังนั้นที่นี่ฉันพูด ชื่อที่ปรากฏสำหรับรูปแบบ
โดยค่าเริ่มต้นเป็นสิ่งที่ชื่อของมัน สถานที่ให้บริการเป็นอย่างอื่นกลับมา
ไม่มีชื่อ
และตอนนี้ในทุก รูปแบบที่เป็น -
ที่ขยายฐานแบบนี้ผม ตอนนี้มีวิธีการแสดงชื่อ
กับต้นแบบ ห่วงโซ่ที่ใดที่หนึ่ง
และถ้าผมต้องการที่จะเขียนทับ ผมก็สามารถตั้งค่า - ตั้งสิ่งที่ -
getName จะอยู่ที่นี่
และมันช่วยให้คุณสามารถที่จะเลียนแบบ มรดกคลาสสิก
ใน JavaScript ซึ่งสามารถ ที่ดีโดยเฉพาะอย่างยิ่งสิ่งที่
ที่ถูกยืมตัวเป็น ชั้นเรียนตามรูปแบบเช่นวัตถุ
จึงขอข้ามกลับเข้ามาใน รหัสโปรแกรม
ดังนั้นผมจึงได้มีเส้นทางเพียง เฉือนเพียงสำหรับดัชนีของฉัน
แล้วเฉือนหลักสูตร
และทั้งสองแบบนี้จะเรียก วิธี renderCourses
ดังนั้นอีกครั้งมีฟังก์ชั่น ชั้นแรกและสามารถส่งผ่าน
เป็นข้อโต้แย้งกับวิธีการ
ดังนั้นใน app.get นี้ ฉันโทร -
ฉันผ่าน renderCourses เป็นอาร์กิวเมนต์
และทำให้ - หรือฟังก์ชั่น สามารถติดตั้งเช่น var -
ขณะที่ผมกำลังทำ var ก่อนหน้านี้ renderCourses เท่ากับฟังก์ชั่น
หรือพวกเขาสามารถเป็นเพียงแค่ renderCourses ฟังก์ชั่น
มันไม่ได้ทำให้เกินไป แตกต่างกันมาก
จริงๆคุณสามารถมีสิ่งที่ จะเรียกว่าฟังก์ชั่นชื่อ
การแสดงออกซึ่งเป็น เท่ากับ renderCourses var
renderCourses ฟังก์ชั่น
และเหตุผลที่จะต้องการให้มีการ ชื่อฟังก์ชั่นโดยเฉพาะอย่างยิ่ง
ในโหนดคือว่า จะช่วยให้คุณทำความสะอาด -
กองติดตามอ่านได้มากขึ้น
ดังนั้นหากคุณมีทั้งกลุ่ม
ฟังก์ชั่นที่ไม่ระบุชื่อ มันจะบอกว่า -
เมื่อคุณมีข้อผิดพลาด ในรหัสของคุณเต็มอิ่มผ่าน -
คุณจะไม่ทราบว่าฟังก์ชั่น ก็เรียกคุณจะต้องมอง
ที่หมายเลขรหัส และหมายเลขบรรทัด
และบางครั้งก็ง่ายขึ้น เพียงเพื่อให้สายตาแยก
เมื่อคุณจริงมีชื่อ
สำหรับการทำงาน ตัวเองในฝั่งเซิร์ฟเวอร์
ดังนั้นนี่ renderCourses, ขอเรียกแอพพลิเคโหนด -
ดังนั้นฉันฟัง แกน 3000 [ออกเสียง]
และอื่น ๆ ทั้งหมดนี้จะทำถูกต้อง นี่เป็นเพียงการได้รับทั้งหมด
หลักสูตรจากฐานข้อมูล
ผมไม่ได้มัน จำกัด เพื่อที่จะทำจำนวนมาก
แถวมันกลับมา
และเพื่อที่จะทำเช่นนี้
ในรูปแบบการเรียนการสอนมี เป็นสถานที่ให้บริการแบบคงที่
ที่เรียกว่าคอลเลกชัน
และเพื่อให้ฉันเพียงแค่เรียกมันว่า - ฉัน กล่าวว่าการสร้างคอลเลกชันใหม่
สำหรับหลักสูตรนี้ แล้วเรียกมัน
แล้วกลับหลักสูตร คอลเลกชันที่นี่ในสัญญา
ดังนั้นภายในเดวิดใน - ครึ่งหลังสอนนิด ๆ หน่อย ๆ
เกี่ยวกับสัญญาและสัญญาที่ ใช้อย่างหนักทั้งใน KNEX
และชั้นหนังสือเพราะ มันยืม -
มันจะช่วยให้คุณ ความสามารถในการมีเครือ
สายแบบที่แตกต่างกันของ และเรียงลำดับของการเข้าร่วมแล้วร่วมกัน
หรือเรียกอะไรบางอย่างแล้ว
มีการเรียกร้องที่อื่น โทรฐานข้อมูลไม่ตรงกัน
และส่งกลับค่าที่และ แล้วกระโดดไปข้างหน้าแล้ว
และต่อไปจากนั้นแล้วมี จับที่ท้ายสุดในการจัดเรียง
ของเลียนแบบจับไม่ตรงกันลอง พฤติกรรมที่มีรหัสตรงกัน
เพราะคุณเห็นมันตอนนี้
แต่มันก็ยากที่ครั้งหนึ่งเคยเป็น คุณเริ่มที่จะจัดการกับมัน
รหัสไม่ตรงกัน เป็นเพียงทุกที่
ในฝั่งเซิร์ฟเวอร์และ JavaScript จริงๆในระดับที่มากขึ้น
กว่าที่คุณเคยใช้ถ้า ที่คุณได้ทำ JavaScript
บนฝั่งไคลเอ็นต์
เพื่อที่ว่าจริงๆ ช่วยให้คุณออกมี
แต่เพียงเพื่อแสดงให้คุณเห็น งบดีบัก
ที่ผมพูดถึงใน เครื่องมือตรวจโหนด
ฉันจะไปข้างหน้าและ โยนสายดีบักที่นี่
ในฟังก์ชั่น renderCourses และดูว่าที่ทำให้ฉัน
เมื่อฉัน - ดังนั้นโหนด สารวัตรสามารถติดตั้งได้
ด้วยการทำ NPM ติดตั้ง ด้วยธงจี
ซึ่งหมายถึงทั่วโลก ตรวจสอบโหนด
และมันจะเรียกมัน NMP และติดตั้งทั่วโลก
สำหรับการใช้งานของคุณ ดังนั้นคุณก็สามารถเรียกมันว่า
จากบรรทัดคำสั่ง
ผมได้ติดตั้งอยู่แล้ว มันดังนั้นฉันจะไปข้างหน้าและ -
จริงๆแล้วมันอาจจะมี รอมันก็จะใช้เวลา
ใช้เวลาสองวินาที
และสิ่งที่ตรวจสอบโหนด อีกครั้งจะช่วยให้คุณ
ทำคือการมีหัวขาดนี้ รุ่นของคอนโซลดีบ​​ัก
ว่าคุณกำลังใช้ในการทำงานเมื่อ ด้านลูกค้าและสามารถ
ที่จะหยุดเพียงแค่เพิ่มที่ระบุ จุดในรหัสของคุณ
หยุดการทำงานและใช้ มองสิ่งที่เกิดขึ้น
ซึ่งจะมีจริงๆ เข้ามามีประโยชน์ถ้าคุณสมบัติ
เช่นที่มีอยู่
เมื่อแก้จุดบกพร่องของคุณ โค้ด PHP ฉันแน่ใจว่า
จึงขอใช้เวลาเพียงแค่ ดูที่ว่า
ดังนั้นฉันก็สามารถโทร สารวัตรโหนด
และมันจะบอกว่าไปที่ URL นี้ พอร์ต 5858 ที่จะเริ่มต้นการแก้จุดบกพร่อง
ว่าเป็นเพียงการเริ่มต้น สำหรับวิธีการที่จะเริ่มขึ้น
ดังนั้นฉันมีตอนนี้ - มี ไม่มีอะไรเกิดขึ้นที่นี่
เพราะฉันต้องการที่จะเริ่มต้น
ดังนั้นโหนดตัน [ออกเสียง] แก้ปัญหาธงแล้ว app.js.
ดังนั้นจึงกล่าวว่าบั๊ก ฟังในพอร์ต 5858,
ฟังเซิร์ฟเวอร์ด่วน 3000 เมื่อวันที่
ดังนั้นเราจึงจะดีไป
ให้ฉันเพียงแค่การฟื้นฟูนี้
และตอนนี้ฉันสามารถมองเห็น app.js รหัสที่ผมก็กำลังมองหาที่
แต่ที่นี่ในคอนโซล
ดังนั้นตอนนี้ถ้าฉันพยายามที่จะทำงานนี้ คุณสามารถเห็นมันจะหยุด
มันเป็นเพียงแค่การรอคอยเพราะ การเรียกใช้รหัสทั้งหมดขณะนี้
หยุดการดีบักนี้ บรรทัดที่ฉันได้ใส่ในนั้น
และตอนนี้ฉันสามารถเซิร์ฟเวอร์ -
[ไม่ได้ยินหมายเหตุ]
เออใช่ เป็นคำหลักคืออะไร ทางลัดในการซูมหน้าจอ
โอ้มี
ได้มัน ตกลง
[Pause]
โอ้ก็ไม่ได้มอง [ออกเสียง] ที่
ดังนั้นหลักสูตรมีขนาดใหญ่จริงๆ
เพราะฉันไม่ได้ทำ ประโยคหรือสิ่งที่ จำกัด
มันเป็นเพียงแค่การเรียก ฐานข้อมูลทั้งหมดของหลักสูตร
ที่มีมากของพวกเขา
และอื่น ๆ - ซึ่งเป็นวัตถุ
ที่จริงอาจผิดพลาด เช่นผู้ตรวจสอบทราบ
It's - ตกลง
ให้ฉันทำ จำกัด และ แล้วเราสามารถที่จะดู
เมื่อมันไม่ได้เรียก หลายร้อยหลักสูตร
ดังนั้นฆ่าเซิร์ฟเวอร์ และสารวัตร
และฉันจะทำแน่นอน จำกัด แบบสอบถามเก็บ 20
ดังนั้นในชั้นวางหนังสือ, ไม่เหมือนใน Laravel
ที่คุณก็สามารถเรียก จำกัด โดยตรงหรือโทรใด ๆ
วิธีการเหล่านี้ SQL ที่คุณใช้
โดยตรงในกรณีที่ออม
ทุกที่ทุกเวลาที่คุณกำลังใช้เพียงแค่ วิธี SQL ที่มีให้
ใน KNEX คุณต้อง เรียกแบบสอบถามในการจัดเรียง
แตะลงของห่วงโซ่การค้นหา
และนี้สามารถเรียก ที่มีทั้งฟังก์ชั่น
เพื่อให้คุณสามารถพูดได้ว่าฟังก์ชั่น ขีด จำกัด นี้ 10 หรือที่คุณเรียกว่า
โดยระบุที่ วิธีการที่คุณต้องการที่จะเรียก
ในกรณี KNEX แล้วซึ่งมีมูลค่า
ดังนั้นเรากำลังจะทำ จำกัด 20 และตั้งค่าแล้ว
เราทำจริงไม่ได้ ต้องดีบักที่นี่
เพราะเราสามารถเพียง ตั้งจุดพัก
และที่ทำให้มันง่ายขึ้น
ขวาทั้งหมด
ดังนั้นขอตั้งจุดพัก ที่นี่และพยายามที่จะโหลด
สายที่ไม่ถูกต้อง
ขวาที่นี่
[Pause]
ตกลง ดังนั้นมันหยุดอีกครั้ง
ดังนั้นตอนนี้เป็นหลักสูตร วัตถุที่มีความยาวจาก 20
และเราสามารถดูทั้งหมดที่แตกต่างกัน แบบว่ามันเป็นความจริง
จากฐานข้อมูลที่ถูกต้องที่นี่ ดังนั้นผมจึงได้มีวัตถุแบบ
ที่มีภายใน ลักษณะสถานที่ให้บริการ
บนวัตถุที่มีทุกสิ่ง ที่พบในฐานข้อมูล
เหตุการณ์ใด ๆ ที่มี รับการจดทะเบียน
เพื่อให้คุณสามารถลงทะเบียน เหตุการณ์ที่เกิดขึ้นที่แตกต่างกัน
ตัวอย่างเช่นเมื่อ รูปแบบที่จะถูกลบ
หรือเมื่อมันเป็นความจริง
คุณสามารถตั้งค่าที่แตกต่างกัน หรือปรับเปลี่ยนคุณสมบัติของสิ่งที่
มีจำนวนมากที่แตกต่างกันตะขอเป็น และสิ่งเหล่านี้มีเอกสารทั้งหมด
ใน Bookshelf.js เอกสารที่ช่วยให้คุณ
จะเรียงลำดับของสิ่งที่ ที่คุณต้องการจริงๆที่จะทำ
ด้วยรูปแบบของคุณ และคอลเลกชัน
คุณสามารถ - พวกเขากำลังหมาย จะปรับแต่งจริงๆ
และจริงๆเรื่องง่ายสำหรับ คุณสามารถปรับตัวเข้ากับพวกเขา
กับความต้องการของคุณ ใบสมัคร
แต่เพียงมองผ่านที่นี่
ฉันสามารถมองเห็นสิ่งที่แตกต่างกัน หลักสูตรที่เปิดสอน
และในกรณีนี้ผม จริงไม่ได้เรียก
กับข้อมูลอื่น ๆ อื่น ๆ กว่า เพียงหลักสูตรที่ตัวเอง
แต่ในลักษณะคล้ายกับ ฝีปากออมคุณสามารถตั้งค่า
ความสัมพันธ์ขึ้นเพื่อการเรียนการสอน เป็นครูผู้สอนจำนวนมาก
ดังนั้นถ้าฉันไปข้างหน้าและ หยุดโปรแกรม
ข้ามไปนี้เรียกโทรคุณ สามารถระบุตัวเลือกที่แตกต่างกัน
ที่คุณต้องการ ผ่านพร้อมกับมัน
และหนึ่งในนั้นคือ ความสามารถในการโหลดรหัสที่เกี่ยวข้อง
โดยระบุ withRelated อาจารย์ผู้สอนหลักสูตรแล้ว
จึงขอกลับไปและความสดใหม่ นี้ที่นี่และหยุดอีกครั้ง
ดังนั้นตอนนี้หลักสูตรวัตถุ หมายเลขเดียวกันของรุ่น
แต่ตอนนี้แต่ละรุ่น มีความสัมพันธ์ที่ยุ่งเหยิง
ซึ่งมีอาจารย์ ว่ามันเป็นที่เกี่ยวข้องกับ
ดังนั้นหลักสูตรนี้ยกตัวอย่างเช่น
ซึ่งเป็นหลักสูตรที่ 082 มีสอง รูปแบบการสอนที่เกี่ยวข้อง
และคุณจะได้เห็นว่า ง่ายมากที่นี้คือการจัดเรียง
ของสายตาทำงานร่วมกับกว่า เมื่อคุณจัดการกับสิ่งที่
ที่คุณเรียงลำดับของการเปลี่ยนรหัส แล้วลองอีกครั้งใน PHP
ความจริงที่ว่าคุณสามารถเพียงแค่ หยุดการดำเนินการทั้งหมด
และประเมินว่ามีอะไรที่นี่และ - ในคอนโซล -
ซูมออกหลักสูตรที่คุณรู้ว่า
สิ่งที่ว่าขอบเขตท้องถิ่น ตัวแปรที่มีอยู่
และนี่คือในปัจจุบันทั่วโลก เพราะวัตถุที่คุณเห็นมัน
ยกเว้นกรณีที่คุณโทรหาด้วย บริบทที่เฉพาะเจาะจงก็จะไม่
จะมีสิ่งที่เกี่ยวข้องที่นี่
แล้ว - ให้ฉัน แสดงตัวอย่างเพิ่มเติมไม่กี่
การดำเนินการตามสัญญา
ดังนั้นแทนที่จะทำเช่นนี้ อาจารย์ withRelated ที่นี่ฉัน
จะไปข้างหน้าและย้ายนี้ เรียกแล้วหลักสูตร
ฉันจะกลับมา อาจารย์ courses.load
แล้ว - แล้วคุณโทรแล้ว
[Pause]
ดังนั้นแล้วที่จุดนี้ หลักสูตรควรจะโหลด
กับอาจารย์ที่ คือการกระทำที่ไม่ตรงกัน
แต่เป็นเพราะเรากำลังกลับไป จากสัญญาค่าต่อไป
เพื่อเป็นสิ่งที่แล้วนี้ ผลตอบแทนที่โทรไม่ตรงกัน
ซึ่งในกรณีนี้โหลด เป็นวิธีการในชั้นหนังสือ
ที่จริงกลับ คอลเลกชันของตัวเอง
จึงโหลด อาจารย์ผู้สอนที่มี
และจากนั้นคุณสามารถระบุ - ถ้ามันเป็นเพียงหนึ่งในสถานที่ให้บริการ
คุณสามารถระบุนี้ เป็นสตริงมิฉะนั้น
คุณสามารถทำอาจารย์ และความต้องการ
เป็นวิธีการ - ขอโทษ เป็นอาร์เรย์
แล้วถ้าคุณต้องการที่จะได้รับ จริงๆแฟนซีและ จำกัด ใด ๆ
เหล่านี้ได้รับการเรียกคุณ สามารถระบุว่าเป็นกัญชา
กับอาจารย์และแล้วสิ่งที่ คุณต้องการที่จะ จำกัด การค้นหาบน
ดังนั้นผมอยากจะโหลดทั้งหมด อาจารย์ผู้สอนเกี่ยวกับหลักสูตรที่ -
QB ดังนั้นการสร้างแบบสอบถาม สถานะที่มีการใช้งาน
และคุณจะได้รับจริงๆ แฟนซีกับใด ๆ
ของคำสั่งที่เกี่ยวข้อง คุณต้องการที่จะสร้าง
แต่เพียงแค่ตอนนี้เรากำลังจะ ที่จะติดเพียงแค่อาจารย์
และเรากำลังจะกลับค่าที่
ควรเป็นอย่างนั้นต่อไปแล้ว มีหลักสูตรทั้งหมดที่โหลด
ขึ้นอย่างถูกต้อง
และหากมีข้อผิดพลาด ในขั้นตอนใดในห่วงโซ่ที่
มันจะกระโดดลงไปจับ
จึงขอไปข้างหน้าและเรียกว่า
ดังนั้นทุกครั้งที่ - แตกต่างใน PHP, หนึ่งข้อเสียคือ
"เพราะโหนด" เป็นระยะยาว กระบวนการที่คุณต้องการจริง
ที่จะหยุดกระบวนการโหนด ในขณะที่คุณปรับปรุงรหัสของคุณ
เพราะรุ่นที่ว่ามันเป็น ทำงานในเวลาทำงานคือ
รุ่นของ รหัสที่ถูกโหลด
เมื่อเริ่มต้นไม่ได้ สิ่งที่คุณมีการจัดเรียง
ของการปรับปรุงรหัสของคุณ ด้วยตั้งแต่นั้นมา
ตกลง เราจะตั้งจุดพัก ที่นี่, ที่นี่และฟื้นฟู
[Pause]
โอ้ที่จริงผมไม่ได้ รีเฟรชหน้านี้อย่างใดอย่างหนึ่ง
จึงเป็นกระบวนการเก่า
ดังนั้นคุณรีเฟรชทั้งสองนี้ และตรวจสอบโหนด
ดังนั้นตอนนี้เราจะเห็นหลักสูตร
ถ้าเราใช้เวลาเพียงแค่ตัวอย่าง ของหนึ่งในรูปแบบเหล่านี้
เราจะเห็นว่ามีความสัมพันธ์ วัตถุที่ว่างเปล่า แต่ตอนนี้ -
และเหตุผลที่คุณต้องการ การตั้งจุดพักคือดี
ที่ผมกล่าวถึงที่คุณสามารถ กระโดดลงไปในร่องรอยสแต็ก
และเห็นคุณจะรู้ว่าที่ มันจะในการตรวจสอบ
ดังนั้นตอนนี้ฉันสามารถมองเห็นสิ่งที่ ที่เกิดขึ้นในวิธีการโหลด
ซึ่งผมได้กำหนด ในคอลเลกชัน
มันเรียงลำดับของ "อยากโหลด ความสัมพันธ์ลงแล้ว "
และคุณสามารถก้าวผ่าน และดูทีละบรรทัด
ที่สิ่งนี้เป็น ไปซึ่งเป็นที่ดี
หากคุณมีบางสิ่งบางอย่าง ที่เสียในรหัสของคุณ
ก็ขว้างปาข้อผิดพลาดบางอย่างและ คุณต้องการที่ฉันต้องการจริงๆ
เพื่อดูว่านี้เป็นไป
แต่ทันทีที่คุณใช้เป็น บางสิ่งบางอย่างไม่ตรงกัน -
มันจะไปต่อไป ติ๊กห่วงเหตุการณ์ที่เกิดขึ้น
และคุณจะสูญเสียของคุณ - คุณสูญเสียสถานที่ของคุณ
ในการตรวจสอบโหนด
ดังนั้นคุณจำเป็นต้องพูด "โอเคฉันสูญเสียครั้งนี้
จะต้องหยุดตอนนี้ ที่บรรทัดนี้อีกครั้ง. "
? เพราะถ้าผมเก็บไว้กดปุ่ม ลงลงกอง
มันจะมีเพียงในที่สุด หายไปได้ผมไม่ได้ตั้งค่านี้
สาย 22 เส้นแบ่งสีฟ้า
ดังนั้นตอนนี้ถ้าผมมอง หลักสูตรที่นี่
ที่ควรในความสัมพันธ์ อาจารย์ผู้สอน
แล้วมี อาจารย์แนบ
ดังนั้นคุณจะเห็นว่าผมกลับ สัญญาจากสัญญาแรก
และจากนั้นคุณสามารถอย่างต่อเนื่อง ทำลงเส้น
ดังนั้นสัญญาที่แตกต่างกัน สัญญาห้องสมุด
ผมใช้อย่างใดอย่างหนึ่งที่เรียกว่าคราม ซึ่งจะเป็นประโยชน์จริงๆ
จะเพิ่มจำนวนมากที่ดีของนี้ สำหรับการเปลี่ยนตรงกัน -
เปลี่ยนโทรกลับ รหัสฐานเป็นสิ่งที่
ที่ทำงานได้ดีกับสัญญา
แต่ - ขอโทษ [ไม่ได้ยิน] สิ่งที่ ผมจะบอกว่ามันมี
ลองมาดู แม้ว่าที่ -
จึงขอบอกว่ามี ปัญหาเมื่อมีการเรียกสิ่งที่
ดังนั้นผมจึงมีเส้นทางอื่น ๆ เพื่อหาที่เรียกว่า ID แน่นอน
จึงขอทำหลักสูตร 2
ฉันจะได้รับ - JSON แน่นอน
และนี้จะ [ไม่ได้ยิน]
[Pause]
ฉันได้กลิ่นอะไรบางอย่างที่ไม่ถูกต้องที่นี่
ไม่ได้อยู่ใน 3000 ผมใน แท็บตรวจ Chrome
ตกลง จึงขอไปที่ แน่นอน - JSON หลักสูตร 1
และผลตอบแทนที่ได้เพียงใน JSON รูปแบบการเรียนการสอนโหลด
ขึ้นกับอาจารย์บาง
แต่ตัวอย่างที่ฉันต้องการ เพื่อให้ที่นี่เป็นที่
ฉันทำ JSON ID แน่นอน
และในการเรียกพารามิเตอร์ ฉันจำเป็นต้องมีการระบุจริง
ซึ่งเป็นตัวเลือกที่ บันทึกไว้ในชั้นหนังสือ
ที่มันบอกว่า "ถ้า ฉันพยายามหาหลักสูตรนี้
และมันก็ไม่ได้มี แล้วโยนความผิดพลาด. "
และที่ควรจะได้รับการจับโดย จับบล็อกลงที่นี่
จึงขอไปข้างหน้าและข้ามไป เป็นผู้ตรวจสอบโหนดและพยายาม
และทำลายนี้และ ดูสิ่งที่เราได้
จึงขอตั้งพัก ที่นี่ในหลักสูตร JSON
ขวาทั้งหมด
ผมจะไปแน่นอน JSON และ ฉันจะใส่ในบาง -
[Pause]
มันอาจเป็นเรื่องยุ่งยากเล็กน้อย บางครั้งเมื่อคุณกำลังพยายาม
ในการจัดการที่หนึ่ง ได้รับการฟื้นฟู
และที่ยังไม่ได้ - ขอดู
ดังนั้นจึงเรียกร้องให้มีข้อผิดพลาด การตอบสนองที่ว่างเปล่า
[Pause]
ลองโยนดีบักที่นี่
เนื่องจากวิธีการที่โหนด จริงเพิ่มประสิทธิภาพ
สำหรับรันไทม์ JavaScript ที่จะให้รวดเร็วบนเซิร์ฟเวอร์
บางครั้งการดีบักโหนด มีข้อผิดพลาดบางอย่างเมื่อคุณพยายามที่
และตั้งจุดพักแบบไดนามิก และคุณทำจริงต้อง
ที่จะใช้ดีบักและ ไม่บรรทัดโดยบรรทัด
ดังนั้นเรามาดูว่านี้ เราได้รับสิ่งที่เราต้องการ
ดังนั้นผมจึงตั้ง app.get id ของหลักสูตร JSON,
และฉันได้ตั้งดีบักของฉันมี
ในคำสั่งจับ ที่ด้านล่าง
Fetch ต้องจริงก็ควร - ทั้งหมดขวามีเราไปยากจน
ดังนั้นตอนนี้ฉันสามารถดู ที่มันหยุด
ที่ป้องกันการจับขั้นสุดท้ายนี้ เพราะ withRelated -
หรือเพราะต้องการที่แท้จริง ระบุและมีการเรียนการสอนไม่มี
มี ID ของขนาดใหญ่นี้ จำนวนผ่านข้อยกเว้น
ซึ่งตอนนี้ Emessage
และความผิดพลาดใน JavaScript แต่ละ มีสถานที่ให้บริการสแต็ค
ที่มาพร้อมกับมัน
ดังนั้นจึงมักจะมีประโยชน์ ที่จะยกตัวอย่างเช่น
คอนโซลออกจากระบบ e.stack
และที่จริงผมสามารถมองเห็น เมื่อฉันตีผิดพลาด
ดังนั้นผมจึงได้รับข้อผิดว่างเปล่า การตอบสนองที่เป็นข้อความ
ที่ถูกส่งผ่านชั้นวางหนังสือ
แต่ตอนนี้ฉันสามารถดู ที่สแต็คที่โทรและดู
ที่อยู่ในชั้นวางหนังสือ รูปแบบภาษา SQL 83,
การตอบสนองที่ว่างเปล่านี้ ข้อผิดพลาดที่ถูกโยน
และนี่คือที่ฉัน กล่าวว่ามันเป็นที่ไม่ระบุชื่อจุด
เพราะมันเป็นที่ไม่ระบุชื่อ ฟังก์ชัน
หากพบว่าเป็นฟังก์ชั่นชื่อ คุณจะมีความคิดที่ดีกว่า
ที่ทำงานจริง ผ่านโดยไม่ต้องไป
เป็นรหัส model.js
แม้ว่ามันจะหมายถึงการเป็น เป็นธรรมที่อ่านได้อย่างเป็นธรรม
ดังนั้นฉันสามารถดูออนไลน์ที่
สิ่งที่พวกเขาบอก ฉันเป็นสาย 83
ดังนั้นถ้า options.require และ การตอบสนองที่ไม่ได้อยู่
ตอนนี้พ่นใหม่ ข้อผิดพลาดในการตอบสนองที่ว่างเปล่า
เพื่อให้คุณสามารถดูสวย ตรงไปตรงมาว่าการที่จะทำงาน
และภายในชั้นวางหนังสือ,
มีเพียงทั้ง พวงของการใช้สัญญา
เพื่อให้คุณสามารถระบุ Promise.method
กับห้องสมุดคราม ซึ่งช่วยให้บริบทที่ถูกต้อง
นี้ในขณะที่กลับ สัญญา
และเพื่อให้ฉันได้ - ฉันผูกพัน ค่าของที่คล้ายกันนี้
กับสิ่งที่ผมกล่าวถึง ก่อนหน้านี้ แต่ใช้สัญญา
และแล้วฉันจะ - ใหม่
มันอาจจะไม่ตรงกัน หรือไม่ถ้าฉันต้องการ
และจากนั้นฉันทำบางอย่าง สิ่งอื่น ๆ ที่อาจจะ
หรืออาจจะไม่ตรงกันและ แล้วทุกประเภทกระโดดลงนี้
ดังนั้น Promise.all เป็นผู้ช่วยที่ จำนวนมากของห้องสมุดได้รับความนิยมมี
ที่คุณสามารถมี อาร์เรย์ของอาจอาจ
หรือไม่อาจเป็นสัญญา
และทุกครั้งที่มี เสร็จสมบูรณ์แล้วคุณกลับมาที่
และจากนั้นก็กระโดด ยังบรรทัดถัดไป
และคุณจะเห็นว่ามันจริงๆ flattens ออกพีระมิด
ที่คุณได้รับ นรกกลับเป็นที่รู้จักของ
ถ้าคุณกำลังทำทุกอย่าง กับสายเรียกกลับโดยสาย
มีวิธีการที่จะได้รับรอบ แต่สัญญาเป็นหนึ่งใน
วิธีที่ดีที่สุดในความคิดของฉัน
จริงๆให้รหัสของคุณ สะอาดและง่ายต่อการอ่าน
ดังนั้นที่เป็นเพียงระยะสั้น แนะนำให้รู้จักกับ JavaScript
และชั้นวางหนังสือ และ KNEX ทั่วไป
และถ้าหากมีคำถามใด ๆ ฉันรู้ว่ามันตันของวัสดุ
การเรียงลำดับของความพยายามและฝาครอบ โดยเฉพาะอย่างยิ่งตั้งแต่ภาษาที่
แตกต่างมากที่สุดที่คุณมี คุ้นเคยกับดังนั้นฉันแค่อยาก
ที่จะให้มันเพื่อให้อย่างน้อย ถ้าคุณกำลังมีปัญหา
ที่มีรหัสของคุณคุณ การเรียงลำดับของสามารถกระโดดใน -
นั่นคือสิ่งที่ฉันต้องการจะทำคือ เรียงลำดับของการกระโดดลงไปในห้องสมุด
ที่ผมใช้และดู ว่าสิ่งที่มีโครงสร้าง
มีคนหนึ่งที่ผมได้กล่าวถึง เรียกว่าก่อนหน้านี้ Backbone.js
และที่จริงก็ [ไม่ได้ยิน] บนฝั่งไคลเอ็นต์
ที่จะช่วยให้มุมมองแบบ โครงสร้างควบคุม
รหัสของคุณ
แต่จริง ๆ แล้วมันมี แหล่งที่มาเอกสารข้อเขียน
ซึ่งช่วยให้คุณเรียงลำดับของการมองเห็น
มันเป็นดีจริงๆ บันทึกสิ่งที่เกิดขึ้น
วิธีการก็ augmenting ฟังก์ชันการทำงานที่อาแจ็กซ์
หรือการทำงานหรือเหตุการณ์ รูปแบบและจัดเรียงคอลเลกชัน
ในการอธิบายสิ่งที่ ที่เกิดขึ้นในกระบวนการ
และถ้าคุณเข้าใจ พื้นฐานของ JavaScript
เช่นมรดก prototypal และเพียงแค่วิธีการทำงานที่ใช้
เป็นทั้งวัตถุและค่านิยม และชั้นเรียนและทุกอย่าง
มันทำให้มันง่ายมาก ที่จะเข้าใจสิ่งที่เกิดขึ้น
ที่อาจเกิดขึ้นใน ห้องสมุดที่คุณกำลังใช้
และรหัสดีบักและสามารถ ที่จะไม่ได้รับการตีตัวหัวของคุณ
กับผนังเพราะ คุณไม่เข้าใจว่า
ชิ้นส่วนที่แตกต่างกัน กำลังทำงานเพื่อ