我试图从一个列的下拉列表中获得不同的值,我在控制器中尝试了这些查询,但结果却空了。
控制器查询1尝试
public function create()
{
$categories = Category::all();
$status = Category::all()->groupby('SM')->get();
return view('admin.categories.create', compact('categories', 'status'));
}
查询2
$status = Category::distinct()->get(['SM']);
查看
<label>Distinct</label>
<select name="dropdown">
<option value="{{$status}}"></option>
</select>
{{$status}}
我试图在下拉列表中获得一列的独特价值。
答案 0 :(得分:3)
考虑SM
您的列名。在Eloquent中,您可以尝试以下操作:
$status = Category::select('SM')->distinct()->get();
或采摘:
$status = Category::distinct('SM')->pluck('SM');
此外,您还应该在选项标签内添加一些值,例如:
<option value="{{ $status }}"> {{ $status }}</option>
答案 1 :(得分:1)
如果您进行了Category:all()->groupBy()->get()
的操作,您将被应用到select * from categories
的集合助手中,则不会进行MySQL查询。
如果您想申请MySQL Query,则需要这样做
Category::select('SM')->groupBy('SM')->get();
或
Category::select('SM')->distinct()->get();