Как использовать @break в троичной операции, чтобы разорвать цикл foreach в файле лезвия laravel? - PullRequest
0 голосов
/ 27 апреля 2018

Я делаю проект в Ларавеле. У меня есть цикл foreach в блейд-файле. Я хочу разорвать цикл foreach, когда условие выполнено, но здесь, в этом случае, я использовал троичный оператор, и в этом операторе я хочу разорвать мой цикл foreach. Вот мой файл лезвия,

@foreach($user->preference_attributes as $attributes)

<tr>
            <th>{{ trans('labels.backend.access.users.tabs.content.overview.location') }}</th>
            <td>{!!($attributes->name == 'location') ? $attributes->pivot->value @break : '' !!}</td>
        </tr>

@endforeach

Я так и сделал, но он не работает. Я не понимаю, как сломать это с троичным оператором. Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018

вы не можете сделать это

{!!($attributes->name == 'location') ? $attributes->pivot->value @break : '' !!}

в вашем случае ошибки blade преобразуется в файл PHP, здесь очень очевидная синтаксическая ошибка, поэтому вы должны использовать синтаксис PHP в {{ }} или {!! !!}

enter image description here

Это не настоящая причина, я возвращаюсь к этим словам, это просто потому, что ограничение грамматики PHP, которое не может быть написано так

невозможно добиться использования в троичном операторе
когда код преобразован в <?php echo e($attributes->name == 'location' ? $attributes->pivot->value : ''); ?> троичный оператор является параметром функции e(), рассмотрим этот пример ошибки functionName( 'someStringParameter'; break; ) Вы нашли проблему?

попробуйте это

<tr>
    <th>{{ trans('labels.backend.access.users.tabs.content.overview.location') }}</th>
    <td>
        @if($attributes->name == 'location')
            {!! $attributes->pivot->value !!}
            @break
        @endif
    </td>
</tr>
0 голосов
/ 27 апреля 2018

Просто попробуй вот так не уверен

{{ $attributes->name == 'location' ? $attributes->pivot->value @break : '' }}
0 голосов
/ 27 апреля 2018

Вы не можете использовать if метод?

@if($attributes->name == 'location')
{{ $attributes->pivot->value}} @break
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...