Как изменить код Php внутри Laravel лопаток вида - PullRequest
1 голос
/ 25 апреля 2020

Я пытаюсь написать некоторый код внутри laravel блейда, как показано ниже

@can('identical_trademark_local_show')
@php
    $trimmed_payment_id=Str::substr($Payment->payment_id,0,9);

    if($trimmed_payment_id=='AlYAFI:IL')
    {
        <a class="btn btn-xs btn-primary" href="{{ route('admin.identical-trademark-locals.show', $Payment->id) }}">
            trans('global.view')
        </a>"

    }
    if($trimmed_payment_id=='AlYAFI:SL')
    {
        <a class="btn btn-xs btn-primary" href="{{ route('admin.similarlocals.show', $Payment->id) }}">
            trans('global.view')
        </a>

    }
    if($trimmed_payment_id=='AlYAFI:SI')
    {
        <a class="btn btn-xs btn-primary" href="{{ route('admin.similarinternationals.show', $Payment->id) }}">
            trans('global.view')
        </a>
    }
@endphp
@endcan

Проблема в том, что я получаю синтаксическую ошибку

синтаксическая ошибка, неожиданная '<' </p>

1 Ответ

2 голосов
/ 25 апреля 2020

Вы не можете использовать символ усы {{ }} внутри блока @php, и вам необходимо написать свой код HTML за пределами вашего @php блока

Вам лучше писать все в синтаксисе блейдов, один из способов сделать это следующим образом:

@can('identical_trademark_local_show')
        @php
            $trimmed_payment_id=Str::substr($Payment->payment_id,0,9);
        @endphp

        @if($trimmed_payment_id=='AlYAFI:IL')
            <a class="btn btn-xs btn-primary" href="{{ route('admin.identical-trademark-locals.show', $Payment->id) }}">
                trans('global.view')
            </a>
        @endif

        @if($trimmed_payment_id=='AlYAFI:SL')
            <a class="btn btn-xs btn-primary" href="{{ route('admin.similarlocals.show', $Payment->id) }}">
                trans('global.view')
            </a>
        @endif

        @if($trimmed_payment_id=='AlYAFI:SI')
            <a class="btn btn-xs btn-primary" href="{{ route('admin.similarinternationals.show', $Payment->id) }}">
                trans('global.view')
            </a>
        @endif
@endcan

NOTE

Вам следует избегать блока @php и вместо этого передавать дальше значение из вашего контроллера.

...