ចំនុចខ្លាំងមួយ របស់ឡារ៉ាល គឺវាក្យសម្ព័ន្ធឆើតឆាយ។ ប្រសិនបើអ្នកមានគំរូនិងទំនាក់ទំនងជាច្រើននៅឡារ៉ាវ៉ាល (ដោយសារតែតារាងជាច្រើននៅក្នុងមូលដ្ឋានទិន្នន័យ) ការឆ្លងកាត់ច្រើនតែអាចបញ្ចប់ដោយកូដមិនឆើតឆាយ។ នៅក្នុងពេលវេលា, ផ្នែកបន្ថែមតូចចំនួនបីបានបង្ហាញឱ្យឃើញដោយខ្លួនឯងសម្រាប់ខ្ញុំដែលខ្ញុំចង់ណែនាំខ្លីៗដូចខាងក្រោម។ យើងគ្រាន់តែប្រើមរតកវិធីមន្តអាគមនិងការប្រមូលផ្ទាល់ខ្លួន។
ដំបូងយើងបង្កើតគំរូថ្មីនៅក្រោម កម្មវិធី \ ConvenienceModel.php:
b45e29b9125c2ab565b5526442437686
បន្ទាប់មកយើងអនុញ្ញាតឱ្យម៉ូដែលទាំងអស់ទទួលមរតកពី ConvenienceModel ថ្មីរបស់យើង:
b45e29b9125c2ab565b5526442437686
លាយមុខងារផ្ទាល់ខ្លួនរបស់អ្នកជាមួយទំនាក់ទំនង
ប្រសិនបើអ្នកចង់ទទួលបានម៉ូដែលភ្ជាប់អ្នកប្រើវាក្យសម្ព័ន្ធស្តង់ដារដើម្បីហៅពួកគេ:
b45e29b9125c2ab565b5526442437686
ប្រសិនបើអ្នកបន្ថែមតក្កវិជ្ជាអាជីវកម្មផ្ទាល់ខ្លួនរបស់អ្នកអ្នកចង់ប្រើការកត់សំគាល់ករណីអូដ្ឋ (ទាប):
b45e29b9125c2ab565b5526442437686
យើងចង់ធ្វើឱ្យស្តង់ដារវាក្យសម្ព័ន្ធនៃវ៉ារ្យ៉ង់ទាំងពីរមានលក្ខណៈស្តង់ដារ។ ដើម្បីធ្វើដូចនេះយើងបានបន្ថែមវិធីសាស្រ្តវេទមន្ត __call ទៅ ConvenienceModel នេះ:
b45e29b9125c2ab565b5526442437686
ដូច្នេះការហៅនេះក៏អាចធ្វើទៅបានក្នុងឧទាហរណ៍ខាងលើ:
b45e29b9125c2ab565b5526442437686
ពិនិត្យវត្ថុទទេ
ប្រសិនបើអ្នកចង់បញ្ចេញឈ្មោះប្រទេសទៅអាសយដ្ឋានរបស់មនុស្សម្នាក់អ្នកនឹងឃើញលេខកូដខាងក្រោម:
b45e29b9125c2ab565b5526442437686
ដើម្បីបងា្ករបញ្ហានេះយើងបញ្ចូលបណ្ណាល័យ ខ្សែអក្សរ ហើយ ត្រឡប់ វត្ថុពិសេសនៃថ្នាក់ ទទេ ប្រសិនបើគំរូមិនត្រូវបានរកឃើញ:
b45e29b9125c2ab565b5526442437686
នេះក៏ធ្វើឱ្យការហៅទទួលបានជោគជ័យផងដែរ (ក្នុងឧទាហរណ៍នេះប្រសិនបើមានអ្វីមួយត្រូវបានរកឃើញឈ្មោះប្រទេសគឺជាលទ្ធផលក្នុងករណីផ្សេងទៀតគឺជាខ្សែរទទេ) ។
b45e29b9125c2ab565b5526442437686
ប្រសិនបើយើងចង់និយាយអំពីករណីដែលអ្នកប្រើប្រាស់ដែលមានអត្តសញ្ញាណប័ណ្ណលេខ ៤២ ប្រហែលជាមិនមាននោះយើងក៏នឹងបង្កើតមុខងារជំនួយតូចមួយសម្រាប់បញ្ហានេះដែរ។:
b45e29b9125c2ab565b5526442437686
ការហៅដូចខាងក្រោមផ្តល់នូវខ្សែអក្សរទទេទោះបីជាអ្នកប្រើប្រាស់មិនមានក៏ដោយ:
b45e29b9125c2ab565b5526442437686
ទំនាក់ទំនងងាយស្រួល n: m ទំនាក់ទំនង
ចុងបញ្ចប់យើងចង់ធ្វើឱ្យកូដសាមញ្ញដូចខាងក្រោម:
b45e29b9125c2ab565b5526442437686
ចំពោះបញ្ហានេះយើងប្រើលទ្ធភាពនៃ ការប្រមូលតាមបំណង ។ ដំបូងយើងកំពុងពង្រីក គំរូភាពងាយស្រួល:
b45e29b9125c2ab565b5526442437686
បន្ទាប់មកយើងបង្កើត កម្មវិធី ឯកសារ \ Helpers \ ConvenienceCollection.php ដែលធានាថាការហៅមុខងារដែលមិនស្គាល់នៅក្នុងការប្រមូលដំណើរការមុខងារសម្រាប់ធាតុទាំងអស់នៅក្នុងការប្រមូល:
b45e29b9125c2ab565b5526442437686
ដូច្នេះយើងអាចប្រើលេខកូដខាងក្រោមដើម្បីបង្កើតឈ្មោះនៃប្រទេសទាំងអស់នៃអាសយដ្ឋានទាំងអស់របស់ឪពុកម្តាយទាំងអស់របស់មនុស្ស:
b45e29b9125c2ab565b5526442437686
ប៉ុន្តែការហៅដូចខាងក្រោមក៏អាចធ្វើទៅបានដែរ:
b45e29b9125c2ab565b5526442437686
តម្រៀបតាមជួរឈរច្រើន
ការហៅខាងក្រោមតម្រៀបតាម ទីតាំង ទោះបីវាមិនមែនជាអ្វីដែលអ្នកចង់បានក៏ដោយ:
b45e29b9125c2ab565b5526442437686
ដើម្បីបើកដំណើរការតម្រៀបតាមជួរឈរជាច្រើនយើងកំពុងពង្រីក ConvenienceCollection របស់យើង:
b45e29b9125c2ab565b5526442437686
ជាមួយនឹងការដែលយើងអាចតម្រៀបការប្រមូលនេះបើយោងតាមជួរឈរជាច្រើនជាមួយ:
b45e29b9125c2ab565b5526442437686
ការតម្រៀបតាមស្តង់ដារ
យើងកំពុងពង្រីក ConvenienceCollection ជាមួយមុខងារជំនួយមួយទៀត:
b45e29b9125c2ab565b5526442437686
ឥឡូវអ្នកអាចផ្តល់ឱ្យគំរូនីមួយៗនូវមុខងារតម្រៀបស្តង់ដារបុគ្គល:
b45e29b9125c2ab565b5526442437686
ដូច្នេះយើងអាចរៀបចំការប្រមូលជាមួយ:
b45e29b9125c2ab565b5526442437686
ឈ្មោះវត្ថុ
ម៉ូដែលនីមួយៗអនុវត្តវិធីសាស្រ្ត GetLabel (getName ខុសគ្នាអាស្រ័យលើម៉ូដែល):
b45e29b9125c2ab565b5526442437686
ជាមួយនេះអ្នកអាចបង្កើតឈ្មោះនៃវត្ថុបានយ៉ាងឆាប់រហ័សនិងងាយស្រួល។ បន្ទាប់មកអ្នកអាចអនុវត្តវិធីជំនួយ sortByLabel ក្នុង ConvenienceCollection:
b45e29b9125c2ab565b5526442437686
លទ្ធផលទទេ
ប្រសិនបើជំហានមធ្យមគឺទទេមុខងារ Laravel ដំបូង () និងចុងក្រោយ () ជាធម្មតាត្រឡប់សូន្យ។ ដូច្នេះយើងណែនាំ getFirst () និង getLast () ដូច្នេះការហៅដូចខាងក្រោមតែងតែជោគជ័យ:
b45e29b9125c2ab565b5526442437686
ជាមួយនេះយើងប្រគល់ __empty_helper ដែល __x ទទួលស្គាល់:
b45e29b9125c2ab565b5526442437686