[英]How Can i Skip Loop from a certain Elements In foreach
我有这个代码
index.Blade.php:
<select name="category_id" class="select2 form-control">
<optgroup label="من فضلك أختر القسم">
@if($categories && $categories -> count() > 0)
@foreach($categories as $category)
<option
value="{{$category -> id }}">{{NameByEnLanguage()}}
// I Want To Skip NameByEnLanguage() Function From Loop
The Output Is
Pyramid
Pyramid
I Didn't Want To Loop The NameByEnLanguage() Function
</option>
@endforeach
@endif
</optgroup>
</select>
Controller:
public function index() {
$dufaultLang = get_dufault_lang();
$categories =
mainCategory::where(
'translation_lang',
$dufaultLang
)
-> Selection() // Select From Selection Scope
-> get(); // Get Selection Data
return view(
'admin.maincategories.index',
compact('categories')
);
}
NameByEnLanguage:
function NameByEnLanguage()
{
return $TsEns = mainCategory::where('translation_lang', 'en')->get('name');
foreach ($TsEns as $TsEn) {
return $TsEn->name;
}
}
// 我在 $category 变量中有两个类别,所以当我想从 Function 中获取 NameByEN 时,它重复了两次,所以我想从循环中删除 Function 我该怎么做呢?
从 controller Controller 加载所需的类别名称:
public function index() {
$dufaultLang = get_dufault_lang();
$data['categories_count'] = mainCategory::where('translation_lang', $dufaultLang)->count();
$categories = mainCategory::where('translation_lang', $dufaultLang)->Selection()->get();
foreach ($categories as $category) {
$data['categories'][] = array(
'id' => $category['id'],
'name' => $this->GetNameByLanguage($category['id'], $dufaultLang),
);
}
return view('admin.maincategories.index', ['data' => $data]);
}
public function GetNameByLanguage($category_id, $language)
{
$TsEns = mainCategory::where('translation_lang', $language)->first();
if ($TsEns->name == null) return "Null";
else return $TsEns->name;
}
刀:
<select name="category_id" class="select2 form-control">
<optgroup label="Label text">
@if($data['categories_count'])
@foreach($data['categories'] as $category)
<option value="{{ $category['id'] }}">{{ $category['name'] }}</option>
@endforeach
@endif
</optgroup>
</select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.