2015-09-03 6 views
6

मैं JSON डेटा प्रकार को कैसे परिभाषित कर सकता हूं जो pgsql 9.4 में लार्वेल 5 में प्रदान किया गया है?Eloquent में JSON डेटा प्रकार को परिभाषित और उपयोग कैसे करें?

मैं भंडारण और डेटा प्राप्त करने में, डेटा प्रकार परिभाषित करने की जरूरत है और अब तक Laravel 5.1 में यह सौदा

+0

http://laravel.io/forum/01-19-2015-eloquent-postgres-and-the-json-datatype?page= 1 –

उत्तर

20

आपके माइग्रेशन में आप की तरह कुछ कर सकते हैं जिस तरह से नहीं मिल सका:

$table->json('field_name'); 

और में तुम इतनी तरह $casts संपत्ति जोड़कर JSON करने के लिए इसे डाली मॉडल:

class SomeModel extends Model 
{ 
    protected $casts = [ 
     'field_name' => 'json' 
    ]; 
} 
+0

> $ तालिका-> जेसन ('field_name'); क्या यह लैरवेल 5.1 में उपलब्ध है? – Volatil3

+1

हां। http://laravel.com/docs/5.1/migrations बस जेसन के लिए खोजें :) –

+0

बहुत बढ़िया। उस पर नजर डाला। और PostgreSQL के JSON संबंधित प्रश्नों का उपयोग करने के लिए मैं कच्चे प्रश्नों का उपयोग करता हूं? – Volatil3

1

Laravel प्रलेखन के अनुसार, 'json' नहीं कास्टिंग उपलब्ध प्रकार से एक है। https://laravel.com/docs/5.1/eloquent-mutators

आप सरणी 'के बजाय का उपयोग करना चाहिए:

class SomeModel extends Model 
    { 
     protected $casts = [ 
      'field_name' => 'array' 
     ]; 
    } 
संबंधित मुद्दे