如何使用 Laravel 避免 select 中的重复数据?
How to avoid repeated data in a select using Laravel?
我有这个select
我从数据库中的 table 获取所有这些信息...所以我有一些重复的行...我想找到一种 if 或其他方法来避免重复select中的信息...这是我的 select
<div class="form-group row col-xs-3 col-md-4" >
<label class="control-label col-md-4" >Cartera: </label>
<div class="col-md-8">
<select name="carteras_id" id="carteras_id" class="form-control">
@foreach ($carteras as $cartera)
<option value="{{ $cartera->carteras_id }}" class="form-control">{{ $cartera->cartera }}</option>
@endforeach
</select>
</div>
这是我的查询
$carteras = DB::table('tbl_perimetros')
->join('tbl_lista_carteras', 'tbl_perimetros.carteras_id', '=', 'tbl_lista_carteras.id')
->get();
您可以在集合中使用 unique('cartera')
以仅获取在 cartera 列中具有唯一值的记录
$unique = $carteras->unique('cartera')
试试这个:
$carteras = DB::table('tbl_perimetros')
->join('tbl_lista_carteras', 'tbl_perimetros.carteras_id', '=', 'tbl_lista_carteras.id')
->distinct()
->get();
您可以在 查询 中使用方法 group By
:
$carteras = DB::table('tbl_perimetros')
->join('tbl_lista_carteras', 'tbl_perimetros.carteras_id', '=', 'tbl_lista_carteras.id')
->groupBy('tbl_perimetros.carteras_id')
->get();
好像tbl_lista_carteras
有很多tbl_perimetros
,所以当你对这两个table使用join
时,tbl_lista_carteras
的数据会重复,你只需要显示tbl_lista_carteras
的数据,你可以直接从tbl_lista_carteras
获取:
$carteras = DB::table('tbl_lista_carteras')
->select('id','cartera')
->get();
并在您的视图中显示它们:
@foreach ($carteras as $cartera)
<option value="{{ $cartera->id }}" class="form-control">{{ $cartera->cartera }}</option>
@endforeach
我有这个select
我从数据库中的 table 获取所有这些信息...所以我有一些重复的行...我想找到一种 if 或其他方法来避免重复select中的信息...这是我的 select
<div class="form-group row col-xs-3 col-md-4" >
<label class="control-label col-md-4" >Cartera: </label>
<div class="col-md-8">
<select name="carteras_id" id="carteras_id" class="form-control">
@foreach ($carteras as $cartera)
<option value="{{ $cartera->carteras_id }}" class="form-control">{{ $cartera->cartera }}</option>
@endforeach
</select>
</div>
这是我的查询
$carteras = DB::table('tbl_perimetros')
->join('tbl_lista_carteras', 'tbl_perimetros.carteras_id', '=', 'tbl_lista_carteras.id')
->get();
您可以在集合中使用 unique('cartera')
以仅获取在 cartera 列中具有唯一值的记录
$unique = $carteras->unique('cartera')
试试这个:
$carteras = DB::table('tbl_perimetros')
->join('tbl_lista_carteras', 'tbl_perimetros.carteras_id', '=', 'tbl_lista_carteras.id')
->distinct()
->get();
您可以在 查询 中使用方法 group By
:
$carteras = DB::table('tbl_perimetros')
->join('tbl_lista_carteras', 'tbl_perimetros.carteras_id', '=', 'tbl_lista_carteras.id')
->groupBy('tbl_perimetros.carteras_id')
->get();
好像tbl_lista_carteras
有很多tbl_perimetros
,所以当你对这两个table使用join
时,tbl_lista_carteras
的数据会重复,你只需要显示tbl_lista_carteras
的数据,你可以直接从tbl_lista_carteras
获取:
$carteras = DB::table('tbl_lista_carteras')
->select('id','cartera')
->get();
并在您的视图中显示它们:
@foreach ($carteras as $cartera)
<option value="{{ $cartera->id }}" class="form-control">{{ $cartera->cartera }}</option>
@endforeach