В Laravel, как отобразить значение php в атрибуте имени? - PullRequest
0 голосов
/ 03 мая 2019

У меня следующий HTML-код в блейд-файле:

@foreach ($engagements as $engagement)
    {!! Form::checkbox('engagements[]', $engagement->id, in_array($engagement->id, $user->privileges->pluck(engagement_id)->toArray()) ? true : false) !!} {{ $engagement->name }}
    {!! Form::select('roles[]', $userRoles, $user->privileges->where(engagement_id, $engagement->id)->first()[role]) !!}
@endforeach`

Я хочу передать $engagement->id в roles[] как roles[{{@engegement_id}}]

Однако вместо отображения значения {{@engegement_id}} оно отображается в виде ролей [{{@engegement_id}}] в источнике просмотра html.

Что я здесь не так делаю?

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

Мы не можем так поступить, это приводит к ошибке «Неопределенные переменные роли» для @php echo $roleWithId = roles[$engagement->id] @endphp. Тем не менее, я попытался выбрать в качестве

{!! Form::select('roles[@php echo $engagement->id @endphp]', $userRoles, $user->privileges->where(\App\Privilege::COLUMN_ENGAGEMENT_ID, $engagement-> {\App\Engagement::COLUMN_ID})->first()[\App\Privilege::COLUMN_ROLE]) !!}

Однако, он показывает это как

<select name="roles[<?php echo $engagement->id ?>]"> в исходном виде

0 голосов
/ 03 мая 2019

Попробуйте с этим,

@foreach ($engagements as $engagement)
@php echo $roleWithId = roles[$engagement->id] @endphp
{!! Form::checkbox('engagements[]', $engagement->id, in_array($engagement->id, $user->privileges->pluck(engagement_id)->toArray()) ? true : false) !!} {{ $engagement->name }}
{!! Form::select($roleWithId , $userRoles, $user->privileges->where(engagement_id, $engagement->id)->first()[role]) !!}
@endforeach

Создайте строку, которую вы хотите передать, и сохраните ее в переменной и передайте эту переменную в Form select.

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...