Laravel中的循环模型

时间:2014-04-12 01:44:57

标签: php laravel

这里有问题:)

$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)

它没有任何回报。请帮助,这里的问题在哪里?

1 个答案:

答案 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文件中运行您的查询,您做错了。