Как обновить и удалить поле типа MySQL JSON или массив с помощью Laravel - PullRequest
0 голосов
/ 04 июня 2018

Я работаю над ролями и разрешениями пользователей, в моей базе данных у каждой роли есть список разрешений.Поле прав доступа имеет тип JSON, оно приведено к массиву в модели ролей.

Но моя проблема в том, что я не могу вставить, обновить, удалить операцию с помощью Laravel Eloquent.

Вот мой пример кода.

<tr>
    <td></td> 
    @foreach($role->permissions as $key=>$value)
    <td><input type="checkbox" name="permisssions[{{$key}}]" value="{{$value}}" {{ $value==1 ? 'checked' : '' }}></td>
    @endforeach
</tr>

Когда я использую $request->all(), отображаются все данные.

{
"_method": "PUT",
"_token": "gPtYT0Qj7LtG5MNTMvtn5qZGofIxfkAyhpyhV5qP",
"role": "User",
"permisssions": {
"read": "1",
"create": "1"
}
}

Но когда я использую $request->permissions, он ничего не показывает.

Вот мой контроллер.

public function role_permissions_update(Request $request, $id)
{
    return $request->permissions;
}

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 05 июня 2018

Вывод $request->all() показывает, что вы указали "разрешения" с ошибками в качестве "разрешений" (три S.).

Вам нужно будет либо использовать $request->permisssions, либо обновить код, который создает запрос.

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