0

Sorry if the title is misleading...

I have the following to create a select box using the laravel Form facade:

{{ Form::select('category_select', $categories_select, null, array('class' => 'selectpicker show-tick', 'data-live-search' => 'true', 'id' => 'category_select')) }}

Now $catgories_select is a pluck() of id and name.

I want to do the same for another select (Tax rules) but there I want to have it like the following:

<option value="id">$value1 ($value2)</option>

How can I do this?

xTheWolf
  • 1,756
  • 4
  • 18
  • 43

1 Answers1

0

If you pluck the models before the view, you'll need two collections. But you could just do one query, then pluck inline. Let's assume $categories is your queried collection before the pluck:

{{ Form::select('category_select', $categories->pluck('name', 'id'), null) }}

Then on the other you'd pluck a mutated property:

{{ Form::select('category_select_tax', $categories->pluck('compositeName', 'id'), null) }}

And then, on your Category model you'd have:

public function getCompositeNameAttribute()
{
    return "{$this->name} ({$this->value2})";
}
Tomas Buteler
  • 3,892
  • 4
  • 29
  • 42