无法使用 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'))}}
我是 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'))}}