वाक्पटु के साथ संबंधपरक डेटा पुनर्प्राप्त करना बहुत आसान है। लारवेल 5 में अपने परिदृश्य के साथ निम्नलिखित उदाहरण देखें।
हमारे पास तीन मॉडल हैं:
-
लेख (उपयोगकर्ता और श्रेणी के अंतर्गत आता है)
-
श्रेणी (कई लेख हैं)
-
उपयोगकर्ता (कई लेख हैं)
- Article.php
<?php
namespace App\Models;
use Eloquent;
class Article extends Eloquent {
protected $table = 'articles';
public function user() {
return $this->belongsTo('App\Models\User');
}
public function category() {
return $this->belongsTo('App\Models\Category');
}
}
- Category.php
<?php
namespace App\Models;
use Eloquent;
class Category extends Eloquent {
protected $table = "categories";
public function articles() {
return $this->hasMany('App\Models\Article');
}
}
- User.php
<?php
namespace App\Models;
use Eloquent;
class User extends Eloquent {
protected $table = 'users';
public function articles() {
return $this->hasMany('App\Models\Article');
}
}
आपको अपने डेटाबेस संबंध और मॉडलों में सेटअप को समझने की आवश्यकता है। उपयोगकर्ता के पास कई लेख हैं। श्रेणी में कई लेख हैं। लेख उपयोगकर्ता और श्रेणी के हैं। एक बार जब आप Laravel में संबंध स्थापित कर लेते हैं, तो संबंधित जानकारी को पुनः प्राप्त करना आसान हो जाता है।
उदाहरण के लिए, यदि आप उपयोगकर्ता और श्रेणी का उपयोग करके किसी लेख को पुनः प्राप्त करना चाहते हैं, तो आपको यह लिखना होगा:
$article = \App\Models\Article::with(['user','category'])->first();
और आप इसे इस तरह इस्तेमाल कर सकते हैं:
//retrieve user name
$article->user->user_name
//retrieve category name
$article->category->category_name
किसी अन्य मामले में, आपको किसी श्रेणी के सभी लेखों को पुनः प्राप्त करने या किसी विशिष्ट उपयोगकर्ता के सभी लेखों को पुनः प्राप्त करने की आवश्यकता हो सकती है। आप इसे इस तरह लिख सकते हैं:
$categories = \App\Models\Category::with('articles')->get();
$users = \App\Models\Category::with('users')->get();
आप http://laravel.com/docs/5.0/eloquent पर और जान सकते हैं।