laravel - 如何在 laravel 中转换并显示数据库中的值
问题描述
如果数据库中的值为“FC”,我想将出口名称显示为“Food”,如果数据库中的值为“EX”,则在每个下拉菜单中显示“Express”。
这是我的控制器
$outlet_name = StoreFC::select('loc_type')
->groupBy('loc_type')
->orderBy('loc_type', 'ASC')
->get();
$district_name = StoreFC::select('location')
->groupBy('location')
->orderBy('location', 'ASC')
->get();
return view('test.store-fc', compact('outlet_name','district_name'));
这是我的看法
<div class="form-group">
<select name="filter_district" id="filter_district" class="form-control" required>
<option value="">Select Location</option>
@foreach ($district_name as $district)
<option value="{{ $district->location }}">{{ $district->location }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<select name="filter_outlet" id="filter_outlet" class="form-control" required>
<option value="">Select Outlet</option>
@foreach($outlet_name as $outlet)
<option value="{{ $outlet->loc_type }}">{{ $outlet->loc_type }}</option>
@endforeach
</select>
</div>
这是我的模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class StoreFC extends Model
{
protected $table = 'store_foodcity';
}
这就是它现在在下拉菜单中的显示方式
解决方案
您需要在模型 StoreFC 中创建自定义 getter。
[ https://laravel.com/docs/5.8/eloquent-mutators#defining-an-accessor][1]
你能做的最好的事情是为“FX”创建一个全名为“Food”的新列,否则......每次你在数据库中更改某些内容时,你都必须修改那个 mutator。
推荐阅读
- python - 如何正确地将虹膜清理到包含数组和整数的列表中
- ibm-cloud - 无法向 IBM Watson Studio 添加服务
- react-native - 如何在反应原生博览会中选择多个图像
- php - mysql 从基于具有相似内容的字段分组在一起的表中选择字段
- reactjs - create-react-app 不会生成 public 和 src 文件夹,因此无法启动
- python - 更改多索引熊猫数据框中的值
- awk - 在 shell 脚本中增加输入变量号
- typescript - 如何将对象的每个属性都键入为字符串,除了一个?
- esp8266 - 如何在 MicroPython 中检测硬件类型(ESP32 或 ESP8266)?
- algorithm - 值以 2 的幂增加的循环的时间复杂度