Laravel, отображающий/обновляющий данные из БД, показывает данные только для просмотра, статус «активен» и «неактивен», находит по $id

Я пробовал код ниже, но он не работает.

В этом коде, когда я ввел номер «УДАЛЕН», «id» в браузере «URL», он также показывает сведения о пользователях статуса «УДАЛЕН», я хочу показать и получить доступ только к пользователям «АКТИВИРОВАТЬ» И «ДЕАКТИВИРОВАТЬ», только если я ввел « DELETED» Пользователи «id» в «URL» должны показать ошибку:

public function staff_status($id)
{
    $user = User::where('status', '=', 'ACTIVATE')->orWhere('status', '=', 'DEACTIVATE')->find($id);

    return view('home', compact('user'));
}

public function status_update(Request $request, $id)
{
    $user = User::where('status', '=', 'ACTIVATE') > orWhere('status', '=', 'DEACTIVATE')->find($id);

    $user['status'] = $request->status;

    $user->save();

    return back()->with('success', 'SUBMITED SUCCESSFULLY .');
}

Добавьте еще одно условие ->where('status', '!=', 'DELETED')->findOrFail($id)

Chay22 30.05.2019 17:03

@ Chay22 для этого кода? $user=User::where('status','=','ACTIVATE')->orWhere('status'‌​,'=','DEACTIVATE')->‌​find($id);

Ramu Ramu 30.05.2019 17:07

Вместо orWhere используйте другой where. User::where('status', 'ACTIVATE')->where('status', 'DEACTIVATE')->find($id); если вы хотите вернуть как активных, так и удаленных пользователей

senty 30.05.2019 17:08

Ошибка @ Chay22 «Попытка получить идентификатор свойства не-объекта»

Ramu Ramu 30.05.2019 17:32
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
4
246
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как упомянул @ Chay22, вы должны добавить еще одно условие where

просто замените свой код на этот

public function staff_status($id)
{
    $user = User::where('status', '!=', 'DELETED')
                  ->where(function($query){
                      $query->where('status','=','ACTIVATE');
                      $query->orWhere('status','=','DEACTIVATE');
                  })->find($id);
    if (! $user) {
        return // return your error here
    }

    return view('home',compact('user'));
}

public function status_update(Request $request, $id)
{
    $user = User::where('status', '!=', 'DELETED')
                  ->where(function($query){
                      $query->where('status','=','ACTIVATE');
                      $query->orWhere('status','=','DEACTIVATE');
                  })->find($id);

    if ($user) {
        $user->status = $request->status;
        $user->save();

        return back()->with('success','SUBMITED SUCCESSFULLY .');
    } else {
        return // return your error here
    }
}

показывает ошибку «синтаксическая ошибка, неожиданный запрос $ (T_VARIABLE)»

Ramu Ramu 30.05.2019 17:21

@RamuRamu ; отсутствует во вложенных местах, я обновил ответ

Sethu 30.05.2019 17:25

Другие вопросы по теме