Может ли кто-нибудь объяснить мне код PHP ниже? - PullRequest
0 голосов
/ 22 мая 2019

Пожалуйста, кто-нибудь, объясните мне это условие, я не получил его.Код работает правильно, но я забыл, какую логику я использовал для возврата значения.

$chkBlock = Blocked::where("block_username", "=", Auth::user()->username)
                    ->where("user_username", "=", $username)
                    ->count();

if ($chkBlock > 0) {
    return \Redirect::back()->withSuccess( 'This User Block you' );
}

Ответы [ 2 ]

1 голос
/ 22 мая 2019

В этом случае вы выбираете данные из модели Blocked, чтобы проверить, заблокирован пользователь или нет.

Для этого вы просто передаете текущее имя пользователя (Auth::user()->username) и выдал и другое имя пользователя ($username).

$chkBlock = Blocked::where("block_username", "=", Auth::user()->username)
                    ->where("user_username", "=", $username)
                    ->count();

Что делает этот запрос, так это проверка, есть ли в таблице blockeds какая-либо строка, содержащая текущего пользователя и имя пользователя ($username), и получениеколичество.

Итак, теперь второй запрос:

if ($chkBlock > 0) {
    return \Redirect::back()->withSuccess( 'This User Block you' );
}

Вы проверяете, получила ли запись rowCount или нет.Если число равно 1 или больше 0 означает, что пользователь заблокирован, и вы перенаправляете обратно с сообщением This User Block you

Если вы хотите увидеть, что выполняется запрос MySQL, вы можете просто использовать:

DB::enableQueryLog();
//Your Model query goes here
dd(DB::getQueryLog());

Он умрет и сбросит запрос MySQL.

1 голос
/ 22 мая 2019
Blocked::where("block_username", "=", Auth::user()->username)
                    ->where("user_username", "=", $username)
                    ->count();

это SQL-запрос, он будет возвращать количество записей на основе условия.

if ($chkBlock > 0) {
    return \Redirect::back()->withSuccess( 'This User Block you' );
}

это будет проверять, если число больше 0, а затем перенаправить на предыдущую страницу с сообщением об успехе.

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