这里有问题:)
$ls = '<select size="12">';
foreach(Category::all() as $k){
$ls .= '<option>'.$k['name'].'</option>';
}
$ls.= '</select>';
return $ls;
这将返回来自DB的所有数据,但我想只检索parent = 1的数据 所以当我改变
foreach(Category::all() as $k)
到
foreach(Category::where('parent','=',1) as $k)
它没有任何回报。请帮助,这里的问题在哪里?
答案 0 :(得分:1)
你应该使用这样的东西:
$categories = Category::where('parent', 1)->get(); // '=' could be omitted
foreach($categories as $category){
//...
}
您必须调用get()
方法才能获得查询结果。另外,请避免在view
中执行代码。您可以使用控制器中的类似内容将结果传递给视图:
$categories = Category::where('parent', 1)->get();
return View::make('viewname')->with('categories', $categories);
然后在视图中循环:
// 刀
@foreach($ category as $ category)
{{...}}
@endforeach
如果您未使用@
,请移除Blade
。但是,即使没有循环,您也可以生成select
,例如:
echo Form::select('categories', $categories, Input::old('categories'));
Blade
只需使用:
{{ Form::select('categories', $categories, Input::old('categories')) }}
检查documentation并正确阅读文档,您需要。
view
文件中运行您的查询,您做错了。