2016-06-08 42 views
0

即时通讯相当新的使用这个即时通讯卡住我需要显示输出结果的特定查询作为我的看法下拉列表。在我的控制器,这里是查询显示结果查询形式::选择laravel 4.2

//categories 
    $cats = DB::table('nsa_subcategory AS sc') 
      ->join('nsa_maincategory AS mc' , 'sc.maincategoryid' , '=' , 'mc.maincategoryid') 
      ->select('sc.subcategoryid' , 'sc.subcategoryname' , 'mc.maincategoryname') 
      ->get(); 
    // dd($cats); 

我需要显示在下拉列表中subcategorynamemaincategoryname并获得subcategoryid IM的卡在这里的价值。关于如何实现这个的任何想法?提前感谢你!

+1

在打印出''

+0

你能分享输出吗? dd()的结果 –

回答

1

试试这个

控制器

$cats = DB::table('nsa_subcategory AS sc') 
      ->join('nsa_maincategory AS mc' , 'sc.maincategoryid' , '=' , 'mc.maincategoryid') 
      ->select('sc.subcategoryid' , 'sc.subcategoryname' , 'mc.maincategoryname')->lists('id', 'categorie name') 
      ; // change this with the right data , the first wil be the value the second will be displayed 

查看

foreach ($cats as $maincat => $subcat) { 
echo $subcat; 
} 

DROPDOWNLIST

{{ Form::select('size', $cats,'Choose category') }} 

即使剂量工作,基本部分是->lists()函数,如果您遇到任何类型的错误,添加到查询将准备要在下拉页面中显示的数据 发表评论,我将更新答案如果需要的话

1

上述查询会给你一个集合对象,但你需要的是一个数组.. .. key =>值对。以下应该做的:

$cats = DB::table('nsa_subcategory AS sc') 
     ->join('nsa_maincategory AS mc' , 'sc.maincategoryid' , '=' , 'mc.maincategoryid') 
     ->lists(DB::raw('CONCAT(sc.subcategoryname," " , mc.maincategoryname) AS cat_name'),'cat_id'); 

这会给你想要的结果。如果你正在使用Laravel的形式助手,你可以直接将它传递这样的:

{{Form::select('name',$cats)}} 
+0

hi rahul我得到的东西说'array_combine():两个参数应该有相同数量的元素' – BourneShady

+0

可能是选择功能正在制造麻烦..我会更新相应的答案.. –

+0

我不' t知道发生了什么,但它给了我任何错误,因为它使用'nsa_subcategory'内部连接'nsa_maincategory'在'nsa_subcategory'上的查询'select'subcategoryname,''as',','nsa_subcategory'.'subcategoryid'。 maincategoryid' ='nsa_maincategory'.'maincategoryid''我不知道为什么它使用这种查询任何想法? – BourneShady