【问题标题】:Laravel 4 display list of data into form selectionLaravel 4 将数据列表显示成表单选择
【发布时间】:2015-03-23 18:30:20
【问题描述】:

如何在 laravel 表单构建器选择中显示书籍列表?

BookController.php

$book_names = Book::all();

return View::make('books')->with('book_names', $book_names);

目前我只知道如何手动输入数据:

{{ Form::select('book_name', array(
  'book1' => 'book1', 
  'book2' => 'book2', 
  'book3' => 'book3') 
}}

我想做这样的事情:

{{ Form::select('book_name', array(
  @foreach($book_names as $book_name)
    $book_name->name => $book_name->name, 
  @endforeach 
}}

但显然它不会起作用..

【问题讨论】:

    标签: php laravel laravel-4 blade formbuilder


    【解决方案1】:

    满足lists() 方法。它允许您从集合的一个或两个(键和值)属性创建一个数组:

    $book_names = Book::lists('name');
    
    return View::make('books')->with('book_names', $book_names);
    

    然后简单地传递该数组:

    {{ Form::select('book_name', $book_names) }}
    

    【讨论】:

    • 我们可以将列表显示为数组键和值吗?例如 $user=Auth::user()->roles->lists('name')。我们可以这样做 echo $user[0], $user[1]。显然它不会起作用。
    • @MaXi32 在 Laravel 5.1 中你需要在末尾添加一个all() 来获取实际的数组:$user=Auth::user()->roles->lists('name')->all()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多