我与名为idavaliacao的主键和名为trabalho_idtrabalho的外键有关系,我想通过idavaliacao,desc获得每个外键顺序的最后一个元组。
例如:
idavaliacao | trabalho_idtrabalho
------------+--------------------
1 | 1
2 | 1
3 | 2
4 | 3
5 | 3
6 | 4
返回:
idavaliacao | trabalho_idtrabalho
------------+--------------------
2 | 1
3 | 2
5 | 3
6 | 4
Eloquent Queries:
$ids = Trabalho::where([['trabalho.eventos_ideventos',$evento->ideventos],['eixos_tematicos_ideixos_tematicos',$id_eixo]])->get(['trabalho.idtrabalho'])->toArray();
$avaliacao = Avaliacao::whereIn('trabalho_idtrabalho',$ids)->to be continued
答案 0 :(得分:0)
以下是答案 -
select * from yourtable t1
where t1.idavaliacao =
(select max(idavaliacao) from yourtable t2 where t2.trabalho_idtrabalho=
t1.trabalho_idtrabalho)
答案 1 :(得分:0)
向HasOne
模型添加Trabalho
relationship:
public function avaliacao() {
return $this->hasOne(Avaliacao::class, 'trabalho_idtrabalho', 'idtrabalho')
->orderByDesc('idavaliacao');
}
然后使用eager loading:
$trabalho = Trabalho::where([['trabalho.eventos_ideventos',$evento->ideventos],
['eixos_tematicos_ideixos_tematicos',$id_eixo]])->with('avaliacao')
->get(['idtrabalho']);
$avaliacao = $trabalho->pluck('avaliacao');