Php 从laravel中的选项选择获取名称和值

Php 从laravel中的选项选择获取名称和值,php,laravel,Php,Laravel,我使用foreach显示来自数据库的选项,其值如下: <select name="location[]" data-placeholder="Search Location" multiple class="chosen-select"> <?php foreach ($location as $key): ?> <option value=""></option> <option value="{{$key->

我使用
foreach
显示来自数据库的选项,其值如下:

<select name="location[]" data-placeholder="Search Location" multiple class="chosen-select">
   <?php foreach ($location as $key): ?>
     <option value=""></option>
     <option value="{{$key->id}}">{{$key->name}}</option>
   <?php endforeach; ?>
</select>
但是不知道如何传递
{{$key->name}


我是否应该将
{{$key->name}}
放在另一个表中,或者有任何可能的方法吗?

通常最好的做法是发送此信息,然后根据通过select提供的名称进行保存,而是只发送
id
,然后通过
POST
方法获取关系并直接从数据库保存名称(如果有意义的话),建立可以通过名称提取或/和直接将名称存储到该表中的关系

但是,如果出于某种原因需要在请求中存储名称,这里有几种方法

你可以考虑使用数组来达到目的,但我不确定这是否就是你想要的

<option value="location[{{ $key->id }}][{{ $key->name }}]" />

在模板中放置以下内容:

<select name="location[]" data-placeholder="Search Location" multiple class="chosen-select">
<?php foreach ($location as $key): ?>
   <option value=""></option>
   <option value="{{$key->name}},{{$key->id}}">{{$key->name}}</option>
<?php endforeach; ?>
</select>

还有其他方法可以实现,但根据您提供的代码,这是一个简单的解决方案。

将两个数据作为值发送:

<option value="{{$key->id .'-'.$key->name }}">{{$key->name}}</option>
然后$location[0]-保存ID,$location[1]保存NAME

{{{$key->NAME}}
试试这个你可以打印($value);出口在这里粘贴?
<option value="{{ $key->id }}:{{ $key->name }}" />
$parts = explode(':', $value);
$id = $parts[0];
$name = $parts[1];
<select name="location[]" data-placeholder="Search Location" multiple class="chosen-select">
<?php foreach ($location as $key): ?>
   <option value=""></option>
   <option value="{{$key->name}},{{$key->id}}">{{$key->name}}</option>
<?php endforeach; ?>
</select>
$loc = $request->location;
$i = 0;
foreach ($loc as $value) {

   if ($value == true) {
     $data_arr = explode(',', $value);
     $date_opt[] = [
       "name" => $data_arr[0]
       "id" => $data_arr[1],
      ];
    }
   $i++;
  }
return $date_opt;
<option value="{{$key->id .'-'.$key->name }}">{{$key->name}}</option>
$location = explode("-", $request->input('location'));