Laravel 4:将数据从数据库传递到视图

时间:2014-08-06 16:21:04

标签: php laravel-4 blade

我希望制作一个包含某些类别项目的选择框。此选择框应包含数据库中的数据。 所以首先我创建了我的刀片

admin.blade.php:

    <h2>Add Category</h2>
    {{ HTML::ul($errors->all(), array('class'=>'errors')) }}
    {{ Form::open(array( 'url'=>'admin/category/add', $title="Admin Control Panel")) }}

    <p>
    {{ Form::label('Category Name:') }}
    {{ Form::text('category_name', Input::old('category_name'))  }}
   </p>

    <p>
    {{ Form::select('parent_category',  array('' => 'Select Category', '0 ' => 'Main Category',))  }}
    {{ Form::label('Parent Category:') }}   
   </p>


    <p>
    {{ Form::submit('Submit', array('name' => 'save')) }}
    </p>
    {{ Form::close() }}

然后我创建了我的控制器:

    class CategoryController extends BaseController  
    {
    public function add()
    {
    $category_list = CategoryModel::select();
    return View::make('admin')->with('category_list', $category_list);
    }

我需要在我的选择框中显示这个数组。但我不知道该怎么做。请提出正确的建议!

谢谢!

1 个答案:

答案 0 :(得分:0)

return View::make('admin')->with('category_list', $category_list);

这就是说创建一个响应并将其返回给客户端。响应将使用刀片模板admin生成,我们将把变量$category_list的内容传递给视图,该视图将在内部引用{{1} ($category_list函数的第一个字符串参数。)

因此,如果您想访问类别列表,请在视图中执行以下操作:

with

当然,假设{{ $category_list->title }} 是一个属性为$category_list的单个模型。如果title是模型(或数组)的集合,则可以使用$category_list

foreach

如果您正在尝试根据数据库中针对给定模型的条目构建选择列表,则可以执行以下操作:

@foreach($category_list as $category) 
    {{ $category->title }}
@endforeach

当然,您可以在控制器中生成该数组,并将其传递给现在。