Я хочу заполнить поле выбора clients
из моей базы данных в контроллере проектов, поскольку проект будет принадлежать client
, но он также принадлежит зарегистрированному пользователю.
Я хочу создать поле выбора, как показано ниже:
<select>
<option value="$client->client_id">$client->client_name</option>
<option value="$client->client_id">$client->client_name</option>
</select>
У меня есть это в laravel, который заполняет мое поле выбора именами клиентов, однако атрибут value
имеет имя клиента, и я предпочел бы, чтобы у этого был client_id.
То, как я это сделал, выглядит следующим образом:
ProjectController.php
public function create()
{
//find logged in users clients
$clients = Auth::user()->clients;
$client_selector = array();
foreach($clients as $client) {
$client_selector[$client->client_name] = $client->client_name;
}
// load the create form (app/views/projects/create.blade.php)
return View::make('projects.create', array('client_selector' => $client_selector));
}
create.blade.php
{{ Form::open(array('action' => '[email protected]', 'id' => 'createproject')) }}
<div class="form-group">
@if(count($client_selector)>0)
{{ Form::label('select_client', 'Select Client', array('class' => 'awesome')); }}
<!-- SELECT IS CREATED HERE -->
{{Form::select('client', $client_selector, array_values($client_selector)[0])}}
@endif
</div>
<div class="form-group">
{{ Form::label('project_name', 'Project Name') }}
{{ Form::text('project_name', Input::old('project_name'), array('class' => 'form-control')) }}
</div>
Как вы можете видеть из того, как создается выбор, он использует имя client_name для заполнения атрибутов значений, и я не очень разбираюсь в эксперте по Laravel, поэтому я не уверен, как изменить эти атрибуты.
Если бы кто-нибудь мог показать мне, как это делается или есть лучший способ достижения этого, пожалуйста, дайте мне несколько примеров!
Спасибо заранее.