如何使用pluck方法在表单select中获取多列并展示组合内容?
解决方法
这好办!你只需要把店铺名称和地址拼接成一个统一的显示文本,再结合pluck获取键值对就能实现需求了,具体操作如下:
控制器代码修改
我们可以用selectRaw来拼接shop_name和address字段,生成一个新的显示字段,再用pluck把这个显示字段作为选项文本,id作为选项值:
$shops = DB::table('shops') ->selectRaw('id, CONCAT(shop_name, " - ", address) as display_text') ->pluck('display_text', 'id'); return View::make('index')->with('shops', $shops);
这里的CONCAT(shop_name, " - ", address)是把店铺名称和地址用-分隔拼接起来,你也可以根据需求改成其他分隔符(比如逗号、空格)。
视图代码保持不变
视图里的Form::select不需要修改,直接使用传过来的$shops即可:
{{ Form::select('id', $shops, null, ['class' => 'form-control']) }}
最终输出效果
修改后生成的HTML会变成这样:
<select class="form-control" name="id"> <option value="1">JDon - 某某街道123号</option> <option value="2">Watsons - 某某商圈456号</option> </select>
内容的提问来源于stack exchange,提问作者Nurdin
相关产品推荐
相关产品推荐

