Laravel удалить модель пользовательский возврат - PullRequest
1 голос
/ 13 марта 2019

Хорошо, я пытаюсь удалить модель, а затем вернуть response()->json([...]). По какой-то причине, когда я удаляю модель, она всегда возвращает NULL, что бы я ни делал.

Вот функция в модели User, которая используется для удаления данного пользователя.

/**
 * @return bool|\Illuminate\Http\JsonResponse|null
 * Delete user
 */
public function deleteUser()
{

    // If the admin deletes his own account we need to check if there is another admin. There must exists at least 1 admin
    if ($this->user_id == auth()->user()->user_id && (auth()->user->hasRole('admin'))) {
        if (User::whereHas('roles', function($query) { $query->where('id', 1); })->count() <= 1) {
            return response()->json([
                'success' => false,
                'message' => 'There must be another admin if you remove your own user.'
            ]);
        }
    }

   if (!$this->delete()) {
       return response()->json([
          'success' => false,
          'message' => 'Could not delete user!'
       ]);
   }

    return response()->json([
        'success' => true,
        'message' => 'User was deleted successfully!'
    ]);

Что-то мне не хватает, если я хочу вернуть пользовательский ответ?

EDIT Вот метод контроллера

public function postDelete(User $user)
{
    $user->deleteUser();
}

1 Ответ

2 голосов
/ 13 марта 2019

Вам просто не хватает return в вашем методе контроллера:

public function postDelete(User $user)
{
    return $user->deleteUser();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...