为了账号安全,请及时绑定邮箱和手机立即绑定

有人可以解释我下面的PHP代码吗?

有人可以解释我下面的PHP代码吗?

PHP
潇湘沐 2021-07-01 21:43:42
请,任何人,向我解释这个条件,我没有得到它。代码正常工作,但我忘记了我用来返回值的逻辑。$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 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

在这种情况下,您从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 查询。


查看完整回答
反对 回复 2021-07-02
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

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,然后重定向到带有成功消息的上一页。


查看完整回答
反对 回复 2021-07-02
  • 2 回答
  • 0 关注
  • 201 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信