这是我的类别表:
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?
谢谢。
答案 0 :(得分:2)
你想要的是一种可以通过使用GROUP_CONCAT
来实现的连接:
SELECT GROUP_CONCAT(name) FROM category where id IN(1,2)
说明:此处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的用户。