laravel - Laravel 查询关系是否存在
问题描述
我的 Laravel 控制器中有以下查询:
public function getTeams(){
$teams = Team::whereHas('submissions', function($q){
$q->limit(1);
})->with(['submissions'])->get();
return response()->json(['data'=>$teams]);
}
团队模型:
public function submissions(){
return $this->hasMany('App\submission', 'team_id', 'id');
}
提交模型:
public function team(){
return $this->belongsTo('App\Team', 'id', 'team_id');
}
现在我试图在getTeams方法中只提交一份。但是限制功能无法正常工作。它不返回任何错误。它返回每个团队的所有提交。我只想要 1 次提交。我如何使它工作?
解决方案
$teams = Team::whereHas('submissions')
->with([
'submissions' => function($query) {
$query->limit(1);
}
])->get();
推荐阅读
- typescript - React Native - 初始化依赖组件
- intellij-idea - IntelliJ 中没有 Java EE 应用程序模板
- ms-access - MS Access - 在创建新记录时分配自定义编号
- android - 旋转矩形上的碰撞检测角度错误
- html - 周围的空白
- firebase - 用户已登录,但它的有效负载给出“未定义”作为结果
- buffer - 节点红色。从缓冲区中提取字节
- java - 无法解析符号文本视图
- c - gcc 和 clang 的 while(i--) 优化:他们为什么不使用 sub / jnc?
- php - 如何在 SolrClient 中更改路径