2016-11-18 2 views
1

Я пустошь хотело определить первый элемент в находке все в yii2, но я нету люблю способ, чтобы сделать это,использование yii2 FindAll и доступ к первому элементу

Это код:

$services = TblWorksTags::find()->where(["active"=>true])->all(); 
foreach ($services as $service){ 
    echo '<li>'.$service->name.'</li> 
} 

Из приведенного выше кода я хотел бы его иметь первый элемент, имеющий другой класс, как

$services = TblWorksTags::find()->where(["active"=>true])->all(); 
foreach ($services as $service) { 
    //if its the first element 
    echo '<li class="active">'.$service->name.'</li> //this has a diffrent <li> 

    //for the other elements 
    echo '<li>'.$service->name.'</li> 
} 
+0

свой второй код в синтаксически некорректным. '' 'и'; 'пропущено. Это TYPO? –

+0

Ive исправил опечатку и не исправил ее –

ответ

1

Вы можете сделать это через некоторые counter, как показано ниже: -

<?php 
$services = TblWorksTags::find()->where(["active"=>true])->all(); 

$counter = 1; 
foreach ($services as $service){ 
    if($counter ==1){ 
     //if its the first element 
     echo '<li class="active">'.$service->name.'</li>'; // quote and ; missed in your post 
    }else{ 
     //for the other elements 
     echo '<li>'.$service->name.'</li>'; // quote and ; missed in your post 

    } 
$counter++; 
} 
?> 

Я не знаю, Yii, так что если это код ниже: -

$services = TblWorksTags::find()->where(["active"=>true])->all();

дает вам индексированный массив (что-то вроде Array(0=>'something',1=>'something else', ......so on)). то вы можете использовать сам это индекс, как показано ниже: -

<?php 
$services = TblWorksTags::find()->where(["active"=>true])->all(); 

foreach ($services as $key=> $service){ //check $key is used here 
    if($key == 0){ 
     //if its the first element 
     echo '<li class="active">'.$service->name.'</li>'; // quote and ; missed in your post 
    }else{ 
     //for the other elements 
     echo '<li>'.$service->name.'</li>'; // quote and ; missed in your post 
    } 
} 
?> 
+0

Второй, используя ключевые работы –

+0

@GEOFFREYMWANGI рад помочь вам ура :) :), BTW сначала будет работать –

Смежные вопросы