CPF を数字で表示するとすべての結果が表示されるという検索があります。わかりましたが、次のように表示する必要があります: (個人とその契約数のみ) * 私のコードはポルトガル語です。申し訳ありません
Name
Registry
CPF
Contract 1 ---- Show all contracts
Contract 2 --------
Contract 3 -----------
しかし、それは現在そうなっています:(契約金額に応じて同じ値)
Name
Registry
CPF
Contract 1 ---- Show all contracts
Contract 2 --------
Contract 3 -----------
Name
Registry
CPF
Contract 1 ---- Show all contracts
Contract 2 --------
Contract 3 -----------
Name
Registry
CPF
Contract 1 ---- Show all contracts
Contract 2 --------
Contract 3 -----------
値を複製しています...契約の番号のため
私の見解は次のとおりです。
<% if params[:pesquisa_func_cpf].present? %>
<h4><b>Resultados</b></h4>
<% @autorizacoes.each do |autorizacao| %>
<table class="table table-condensed">
<tr>
<th>Name</th>
<td><%= autorizacao.employee.person.name %></td>
</tr>
<tr>
<th>Registry</th>
<td><%= autorizacao.employee.registry %></td>
</tr>
<tr>
<th>CPF</th>
<td><%= autorizacao.employee.person.cpf %></td>
</tr>
</table>
<hr />
<table class="table table-condensed table-bordered">
<th>Contract number</th>
<% @autorizacoes.each do |autorizacao| %>
<td><%= autorizacao.number_contract %></td>
<% end %>
</table>
<% end %>
<% end%>
これは私のコントローラーです:
もし params[:pesquisa_func_cpf].present? @autorizacoes = Autorizacao.pesquisa_func_cpf(params[:pesquisa_func_cpf]).all
.all の代わりに .distinct を試してみましたが、うまくいきません:(
そして、私の相談(私はオラクルを使用しています)は、それですか:
select * from autorizacoes INNER JOIN employers ON employers.id = autorizacoes.employer_id
INNER JOIN people ON employers.person_id = people.id
WHERE people.cpf LIKE '111.111.111-11'
私の例によれば、3つの結果が返されます。この構造を残す方法を教えてください:
Name
Registry
CPF
Contract 1 ---- Show all contracts
Contract 2 --------
Contract 3 -----------