我有一个选择选项国家/地区列表,我需要根据这些值从数据库标志中获取。
这是我的控制人:
if(count($data['user']['career_path']) > 0)
{
$careerpath = array_reverse($data['user']['career_path']->toArray());
$data['company'] = $careerpath[0]['company'];
$data['industry'] = $careerpath[0]['industry']['industry'];
$data['department'] = $careerpath[0]['department']['department'];
$data['job_title'] = $careerpath[0]['functions']['function'];
$flags = \App\Country::lists('flag', 'id');
$flag = $flags->get($careerpath->location);
dd($flags);
}
所以,这是逻辑:
我有一张名为countries
的国家/地区的表格。
1.id --- 2.country --- 3.flag
那是我所有国家的餐桌。
以下是我在视图中使用此国家/地区列表的方式:
{!! Form::select('location',$country_id ,$user->country->id, ['class' => 'js-example-basic-single']) !!}
其中$country_id
$data['country_id'] = \App\Country::lists('country','id');
当我从选择的表单中选择某个内容(例如希腊或意大利)时,数据库中会保存该列表中国家的ID。(20或21)
我如何看待这种价值?就像这里:
@foreach($user->career_path as $careerpath)
{{$careerpath->location}}
@endforeach
问题是我需要根据country
字段中的flag
选择id
和location
值。
因此,如果我的值为20,则需要基于{{$ careerpath-的值(id 20),从表country
获得flag
的名称和countries
的值> location}}。 $careerpath->location
现在返回我的国家/地区ID,我需要据此获取国家/地区名称(来自countrys.country)和标志值(来自countrys.flag)。
答案 0 :(得分:1)
如果您在$careerpath->location
中有一个国家/地区,则可以直接检索标志数据:
if(!empty($careerpath->location)){
$flags = \App\Country::where('id', $careerpath->location)->select('flag')->first();
dd($flags);
}
答案 1 :(得分:0)
UserContactTablePane
然后您可以通过ID获得标志:
$flags = App\Country::lists('flag', 'id');
在循环中:
$flag = $flags[$careerpath->location];
// or
$flag = $flags->get($careerpath->location);