php - 如何通过使用 MongoDB 中的 Laravel 雄辩关系在关系字段上应用条件来获取数据?
问题描述
我正在使用 MongoDB 4.0 在 Laravel 5.7 中工作
Post Model 中定义的关系如下:
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 eloquent Relations 获取给定用户上传的帖子?
解决方案
您可以反转查询并检索与用户相关的所有帖子。
//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;
}
推荐阅读
- java - 如果我们要升级操作系统和数据库版本,是否需要对 Java Web 应用程序代码进行修改?
- javascript - highcharts悬停效果问题
- java - LWJGL 帧率与 Nvidia GPU 锁定
- excel - 创建度量以计算矩阵中的非空白单元格
- assembly - 尝试在基于 ARM 的程序集中的堆栈上保存使用的寄存器和返回地址时出现数据中止错误
- android-studio - “资源和资产合并错误” - Android Studio
- c++ - 特征库是否修改了 C++ 语法
- mongodb - Docker 实例连接到本地 Mongo:无法绑定到地址
- python - 如何直接从c数据转换为numpy对象
- azure-cognitive-search - Azure 搜索同义词映射未返回预期结果