[英]how to find comma separated values from mysql table
我有兩張桌子。 我加入了兩張桌子。
在控制器中:
$data = array();
$distinct_unique_id_for_group = circulateFile::select('unique_id_for_group')->distinct()->get();
foreach($distinct_unique_id_for_group as $distinct)
{
$data[] = DB::table('circulate_files')
->join('regionmasters','circulate_files.region_id','=','regionmasters.id')
->where('circulate_files.unique_id_for_group','=',$distinct->unique_id_for_group)
->select('circulate_files.*','regionmasters.region')
->get();
}
在上面的查詢中,在circleFiles表中,我有一列unique_id_for_group 。 我必須在unique_id_for_group的幫助下獲取行
我看到了這種類型的數組:
Array
(
[0] => Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[0] => stdClass Object
(
[id] => 2
[title] => title1
[region] => east
)
[1] => stdClass Object
(
[id] => 3
[title] => title1
[region] => west
)
)
)
[1] => Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[0] => stdClass Object
(
[id] => 4
[title] => title2
[region] => east
)
[1] => stdClass Object
(
[id] => 5
[title] => title2
[region] => south
)
)
)
)
我需要這樣的輸出:
REGION | TITLE
east, west | title1
east, south | title2
意味着區域應該是逗號分隔的值並且標題是相同的,所以標題應該是唯一的。
我試過這個:
@foreach($data as $arraydata)
<tr>
<td>{{ $arraydata->region }}</td>
</tr>
@endforeach
我不知道該怎么做?
我得到了我的答案:
$data = DB::table('circulate_files')
->join('regionmasters','circulate_files.region_id','=','regionmasters.id')
->select('circulate_files.title','circulate_files.file','circulate_files.created_at','unique_id_for_group', DB::raw('group_concat(region) as new_region'))
->groupBy('unique_id_for_group')
->get();
嘗試以下代碼:
$data = DB::table('circulate_files')
->selectRaw('circulate_files.title, unique_id_for_group,
group_concat(region) as new_region
')
->join('regionmasters', 'circulate_files.region_id', 'regionmasters.id')
->groupBy('unique_id_for_group')
->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.