如何从Laravel中的表中获取逗号分隔值

时间:2017-03-09 06:43:50

标签: php laravel-5.1

这是我的类别表

id  | name
 1    a
 2    b
 3    c
 4    d

我需要以逗号分隔的方式获取 1 2 的值,即 a,b

我试过这样的事情:

$ids = array('0'=>1,'1'=>2);
\DB::select('SELECT group_concat(name) as name from category where id = ?', ($ids));

但它总是返回第一个值(即 a

我需要得到的值如下: a,b

我怎样才能使用普通查询或Laravel?

谢谢。

4 个答案:

答案 0 :(得分:2)

你想要的是一种可以通过使用GROUP_CONCAT来实现的连接:

SELECT GROUP_CONCAT(name) FROM category where id IN(1,2)

Reference

说明:此处GROUP_CONCAT(name) concat name为name1,name2 ...为WHERE条件匹配

答案 1 :(得分:1)

使用简单的concat尝试这个。您可以用逗号分隔的列进行连接。

查询 - select concat(id,",",name) as name from category where id = ?

答案 2 :(得分:0)

试试这个

$data = \DB::table("articles")
   ->select("title")
   ->whereRaw("find_in_set('find value',colum_name)")
   ->get();

答案 3 :(得分:0)

POST或GET数据字段user_id = 1,2,3;

$user_array = explode(',',Input::get('user_id')); OR $user_array = explode(',',Input::POST('user_id'));
$all_user =   User::WhereIn('user_id',$user_array)->get();

获取所有具有用户ID 1,2和3的用户。