我试图通过foreach从数据库列中获取唯一值作为列表选项,其中每个单元格都有多个以逗号分隔的值。
数据库单元格:
我试图将以下内容作为选择选项:
我正在使用laravel并尝试了以下内容:
我的控制器如下:
$products = DB::table('dealers')->select('products')->distinct()->get();
我的刀片视图如下:
<select>
<option value="">All</option>
@foreach( $products as $product)
<?php
foreach(explode(", ", $product->products) as $value)
printf(
'<option value="%1$s">
%1$s
</option>',
$value
);
?>
@endforeach
我得到以下输出: [1]门[2]窗口[3]窗口[4]页[5]页[6]门
任何人都可以帮忙!我需要做到:[1]门[2]窗口[3]表
答案 0 :(得分:0)
PHP有一个大型的数组函数标准库,包括array_unique
我错过了外圈。你必须得到整个数据集的独特性,而不仅仅是每行
public time: number;
public countDown:Observable<any>;
public currentUnix;
constructor() {
this.currentUnix = moment().unix();
this.time = moment(1503773977000).unix() - this.currentUnix;
}
ngOnInit() {
this.countDown = Observable.interval(1000)
.map(res => {
return this.time = this.time - 1
})
.map(res => {
let timeLeft = moment.duration(res, 'seconds');
let string: string = '';
// Days.
if (timeLeft.days() > 0)
string += timeLeft.days() + ' Days';
// Hours.
if (timeLeft.hours() > 0)
string += ' ' + timeLeft.hours() + ' Hours';
// Minutes.
if (timeLeft.minutes() > 0)
string += ' ' + timeLeft.minutes() + ' Mins';
// Seconds.
string += ' ' + timeLeft.seconds();
console.log("string", string);
return string;
})
}
答案 1 :(得分:0)
很简单,您可以将每个术语保存在数组中。然后检查数组中是否存在值。 请尝试以下laravel blade视图代码:
<select>
<option value="">All</option>
<?php $array = []; ?>
@foreach( $products as $product)
@foreach(explode(", ", $product->products) as $value)
@if(!in_array($value, $array))
<option value="{{ $value }}">{{ $value }}</option>
@endif
@endforeach
@endforeach
</select>
答案 2 :(得分:0)
Here对我有用!!!!!