2015-05-26 9 views
13

मुझे हमारे MySQL डेटाबेस में बहुत ही कम कॉलम नामों के साथ एक परियोजना पर काम करने के लिए पर्याप्त खुशी है। हमारे पास ऊंटकेस, पास्कलकेस, 'आईडी', आईडी है और यह मुझे पागल कर रहा है। मैंने अपने आवेदन में एलोक्वेंट का उपयोग शुरू करने का निर्णय लिया है (जो लार्वेल नहीं है)। मुझे कॉलम नाम को जानने के बिना आसानी से प्राथमिक कुंजी का मूल्य प्राप्त करने का तरीका होना अच्छा लगेगा।एलोक्वेंट मॉडल इंस्टेंस की प्राथमिक कुंजी

// User's primary key column is called UserID 
$user = User::find(1337); 
$userId = $user->id(); // = 1337 

क्या ऐसा करने का एक शानदार तरीका है या क्या मुझे यह विधि स्वयं जोड़नी होगी?

+0

के लिए कॉलम नाम का उपयोग किस प्रकार किया जाता है क्या आप यह पूछ रहे हैं कि यह वाकई है या नहीं? –

+0

मार्क ने कहा सही है लेकिन यद्यपि आप आईडी() (मॉडल के भीतर फ़ंक्शन) जैसे स्थिरता नाम के लिए अपने सभी मॉडल में म्यूटेटर का उपयोग कर सकते हैं http://laravel.com/docs/5.0/eloquent#accessors-and-mutators –

उत्तर

27

आप चाहिए है सुवक्ता बता प्राथमिक कुंजी स्तंभ है अपने मॉडल में एक संरक्षित क्षेत्र को परिभाषित:

protected $primaryKey = 'guid'; 

तो फिर आप अपने मॉडल में है कि संपत्ति का उपयोग कर सकते

मॉडल getKey() विधि आप देना चाहिए प्राथमिक कुंजी का मान, जबकि getKeyName() आपको बताएगा कि प्राथमिक कुंजी

संबंधित मुद्दे