Как правильно отображать отмеченные чекбоксы?

Здравствуйте, помогите
Надо сделать чтобы были отмечены чекбоксы к которым относится статья(в шаблон передаю объект статьи и всех меток), делаю в шаблоне так:
@foreach($tegs as $teg)//все теги
@foreach($article->tegs as $articleTeg)//теги, относящиеся к статье
@if($teg->id == $articleTeg->id)//если id совпадают
{{$teg->name}}

@else//не совпадают
{{$teg->name}}

@endif
@endforeach
@endforeach

У меня отображается все метки по два раза, где ошибка? Может надо как то по другому показывать отмеченные чекбоксы?
  • Вопрос задан
  • 2367 просмотров
Пригласить эксперта
Ответы на вопрос 4
mlnkv
@mlnkv
JavaScript Developer
А что вы делаете так?
Ответ написан
Например, задаешь вопросы ты не слишком удачно :)
Ответ написан
rework
@rework
Помог ответ? В благодарность отметь его решением
По два раза видимо потому что у вас цикл в цикле вставлен. По моему это тут неправильно, т.к. переменная массив один и тот же переберается, походу.

Чисто интуитивно предложу:

foreach($article->tegs as $articleTeg)
@if($teg->id == $articleTeg->id)
{{$teg->name}}

@else
{{$teg->name}}

@endif
@endforeach


плюс ваше условие выполняет абсолютно одинаковый код, независимо от того выполняется оно или нет. Вам нужно, если условие выполняется добавить атрибут "checked", инпуту, что бы вам могли подсказать как это сделать, вы скажите хотя бы что это за шаблонизатор, или что за CMS?
Ответ написан
@slavabars
Веб программист
Перепеши запрос к бд с использованием join. Такой код - дурной тон.

Если же это не из бд данные, то работай работай с объектом как с массивом и ищи одно в другом через in_array()

В вообще у вас в коде при любом условии выводится имя тега. Уберите else
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы