简体   繁体   English

我如何从 foreach 中的某个元素中跳过循环

[英]How Can i Skip Loop from a certain Elements In foreach

I Have This Code我有这个代码

index.Blade.php: 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: 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: NameByEnLanguage:

function NameByEnLanguage()
{


  return  $TsEns = mainCategory::where('translation_lang', 'en')->get('name');
    foreach ($TsEns as $TsEn) {
        return $TsEn->name;

    }
}

// i have two categories in $category Variable So When I Want To get the NameByEN From The Function It's Repeat Twice So I Want To Remove The Function From The Loop How Can I Make It Please? // 我在 $category 变量中有两个类别,所以当我想从 Function 中获取 NameByEN 时,它重复了两次,所以我想从循环中删除 Function 我该怎么做呢?

Loading the desired category name from the controller Controller:从 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;
    }

Blade:刀:

 <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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM