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

请,任何人,向我解释这个条件,我没有得到它。代码正常工作,但我忘记了我用来返回值的逻辑。


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

                    ->where("user_username", "=", $username)

                    ->count();


if ($chkBlock > 0) {

    return \Redirect::back()->withSuccess( 'This User Block you' );

}


潇湘沐
浏览 202回答 2
2回答

翻阅古今

在这种情况下,您从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 heredd(DB::getQueryLog());它将死亡并转储 MySQL 查询。

蓝山帝景

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,然后重定向到带有成功消息的上一页。
打开App,查看更多内容
随时随地看视频慕课网APP