我的用户模型中有以下功能:
public function getInterests()
{
return $this->hasMany('App\Interest')->get();
}
public function getGifts()
{
return DB::table('gifts')
->join('sent_gifts', function ($join) {
$join->on('gifts.id', '=', 'sent_gifts.gift_id')
->where('user_2', $this->id);
})
->join('users', function ($join) {
$join->on('users.id', '=', 'sent_gifts.user_1');
})
->get();
}
我无法理解如何创建复杂的Eloquent Relationships,但我想使用Eloquent ORM的所有好处,例如日期中的访问者和碳实例。
我如何将getGifts()
函数转换为雄辩的关系?
P.S:我已经创建了 App \ User , App \ Gift 和 App \ SentGift 模型。
答案 0 :(得分:0)
你可以这样使用。这是我的关系。
用户模型
class User extends Eloquent {
protected $table = 'users';
public function posts() {
return $this->hasMany('App\Post');
}
}
发布模型
class Post extends Eloquent {
protected $table = 'posts';
public function comments() {
return $this->hasMany('App\Comment');
}
}
查询使用如下......
User::with('posts.comments')->get();