如何使用MongoDB的Laravel雄辩关系通过在关系字段上应用条件来获取数据?

时间:2019-06-21 10:20:39

标签: php laravel mongodb

我正在使用MongoDB 4.0在Laravel 5.7中工作

邮政模型中的定义关系如下:

public function user(){
    return $this->hasOne(Users::class,'_id','user_id');
}

尝试使用查询获取数据:

$posts = Post::with('user')->whereHas('user',function($q){
    $q->where('first_name', 'Test User');
});

给定用户上传了一些帖子,但我什么也没找到。 如何使用Laravel雄辩的关系获取给定用户上传的帖子?

1 个答案:

答案 0 :(得分:0)

您可以撤消查询并检索与该用户相关的所有帖子。

//In User.php Model
use App\Post;

public function posts(){
    return $this->hasMany(Post:class);
}

用于检索数据:

// Retrieving the data
public function getRelatedPosts(){
    $user = User::where('first_name', 'Jignasa')->first();
    $posts = null;
    if(!empty($user)){
        $posts = $user->posts;
    }
    return $posts;
}