无法使用 Blade 动态加载下拉列表

Unable to dynamically load dropdown list using Blade

我是 Laravel 和 Blade 的新手,一直在尝试使用 Illuminate/Html 创建视图。

我有一个叫 service_locations(location_id, location_area) 的 table。

使用上述 table 我正在尝试填充以下下拉列表:

<div class="form-group">
{!! Form::label('location', 'Location:') !!}
{!! Form::select('location', array(

    @foreach($locations as $local)
       '{{ $local->location_id }}' => '{{ $local->location_area }}', 
    @endforeach

), null, ['class' => 'form-control']) !!}
</div>

但是当我尝试这样做时,我在 second-last 行 (), null, ['class' => 'form-control']) !!}) 中收到以下错误:

syntax error, unexpected '<', expecting ')'

我无法找出上面代码的问题。

编辑 1 这是我的控制器的样子:

<?php namespace App\Http\Controllers;

use App\service_location;
use App\service_type;
use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class PagesController extends Controller {

    public function index()
    {
        $locations = service_location::all();
        $services = service_type::all();

        return view('home.index', compact('locations','services'));
    }
}

你不能那样使用 blade,

但您可以使用

获得相同的结果
{!! Form::select('location', $locations->lists('id','location_area'), null, ['class' => 'form-control']); !!}

试试这个..

在控制器中:

$services = service_type::lists('location_area', 'location_id');

return view('home.index', compact('locations','services'));

在你的blade中:

 {{ Form::select('location',$locations,null, array('class'=> 'form-control'))}}