2015-06-04 7 views
5

लोअरकेस मैं बस सोच रहा हूँ क्यों laravel में स्कीमा निर्माता स्वचालित रूप से तालिका नामकरणLaravel स्कीमा निर्माता tablename धर्मान्तरित

जैसे

Schema::create('myTable', function(Blueprint $table) 
    { 
     .... 
    }); 

यह tablename बनाता में लोअर केस में सभी ऊंट मामले कन्वर्ट: mytable

वह क्यों है? क्या यह लार्वेल का एक सम्मेलन है? मैं इसे लार्वा डॉक्स स्कीमा बिल्डर पेज में नहीं देखता हूं।

धन्यवाद

उत्तर

3

यह रूप में अच्छी तरह तालिका नाम और फ़ील्ड नाम में सांप मामले उपयोग करने के लिए एक आम बात है और यह न केवल laravel से संबंधित है लेकिन अधिकांश लोगों को इस सम्मेलन का पालन करें। Laravel के वर्ष (4x) प्रलेखन में, यह उल्लेख किया गया है कि:

ध्यान दें कि हम सुवक्ता जो तालिका नहीं बताया हमारी उपयोगकर्ता मॉडल के लिए उपयोग करने के लिए। लोअर-केस, कक्षा का बहुवचन नाम तालिका नाम के रूप में उपयोग नहीं किया जाएगा जब तक कि कोई अन्य नाम स्पष्ट रूप से निर्दिष्ट न हो। तो, इस मामले में, Eloquent उपयोगकर्ताओं को तालिका में उपयोगकर्ता मॉडल स्टोर रिकॉर्ड मान लेगा। ,

class User extends Eloquent { 

    protected $table = 'my_users'; 

} 

तो, हाँ Laravel कई स्थानों में strtolower फ़ंक्शन का उपयोग करता है और शायद इस आम का पालन करना बेहतर है और यह (my_table: आप अपने मॉडल पर एक टेबल संपत्ति निर्धारित करके एक कस्टम तालिका निर्दिष्ट कर सकता है) snake case के रूप में जाना जाता है।